[Delphi] Доработка библиотеки HTMLp (библиотека для парсинга)
Необходима доработка библиотеки HTMLp (форк) для парсинга HTML.
Задача:
Добавить обработку тегов script, code, template и других подобных.
Необходимость выполнения:
В текущий момент если парсить страницу в которой присутствует например тег script в котором имеется html содержимое с другими тегами (в переменной или еще где + часто не закрытыми или экранированными) - возникают утечки.
Что при массовой работе приводит к крашам и другим ошибкам.
Суть задачи:
Для указанных тегов исключить парсинг содержимого (других тегов в них).
Но сам тег и его содержимое должно оставаться для дальнейшего получения (то-есть сохранить как один тег со всем содержимым).
Кот в итоге уйдёт в репозиторий.
Для исполнителей:
Пишите о том ознакомились ли, стоимость и мысли по решению данной проблемы.
Авто-ответы игнорируются, за подробностями если нет конкретных мыслей - не пишу.
Заранее спасибо.
-

Яка знайома проблема, аж скупа чоловіча сльоза на ясні очі навернулась.
Значить, рішень у вас рівно два:
- визначаєте тег, вміст якого вважаєте "шлаком", і ніяк не парсите, просто шукаєте закриваючий тег вліво.
- парсите ВСЕ до перемоги.
В обох випадках маєте "прелесті" із спотиканнями парсера ранійше ніж потрібно (перший випадок) і шлак на вихлопі, або пізнійше ніж потрібно (другий випадок, за умови порушення консистентності тегів) із забитим стеком, витоками пам'яті, незакритими розгалуженнями при додавання чайлдів і т.д. і т.п.
Як вихід бачу попередню валідацію консистенстності за стратегією "парсим ВСЕ" (включаючи script та ін, вважаючи їх так само деревовидними), і у випадку спотикання ігнорим ВСЕ, тикаючи вказівник де відбулась неконсистентність.
Якщо незрозуміло висловився - питайте в ПП.
-
Актуальні фриланс-проєкти в категорії Десктопні додатки
Інструмент звірки рахунків з банком, картами та бухгалтеромТехнічне завдання: інструмент звірки рахунків з банком, картами та бухгалтеромЗагальна метаПотрібен локальний інструмент (скрипт/невеликий додаток на Python), який запускається вручну раз на 1-2 місяці на моєму комп'ютері і робить звірку між:Рахунками, які я виставив клієнтам і… Python, Десктопні додатки ∙ 1 день тому ∙ 34 ставки |
Додати паузи 10-30 секунд між відправками листівВітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти… Веб-програмування, Десктопні додатки ∙ 6 днів 16 годин тому ∙ 10 ставок |
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 7 днів 4 години тому ∙ 6 ставок |