#html #cpp #qt #парсер
Существует ли в природе парсер невалидного HTML на С++ / QT? Требования: без зависимостей, особенно бинарных, привязанных к конкретной архитектуре; без привязки к UI и app event loop (hello QWebEngine), чтоб можно было использовать его, например, в Android-приложении (QT Quick); поиск XPath и CSS Selectors, descendants/ancestor оси (hello Gumbo) Альтернативы в других языках: Java: Jsoup, Python: Grab/BeautifulSoup
Ответы
Ответ 1
Не вполне понятно, что такое "невалидный HTML" и насколько допустимо его отличие от стандарта. Посмотри, например, http://xmlsoft.org/html/libxml-HTMLparser.html#htmlReadFile (с атрибутом HTML_PARSE_RECOVER).Ответ 2
Если устраивает HTML4, то можно попробовать libxml2 http://xmlsoft.org/ Но под андроид нужно будет iconv собрать, у меня остались смутные воспоминания, что определенные танцы с бубном там будут нужны. http://xmlsoft.org/FAQ.html#Compilatio из зависомостей он требует libz, iconv MIT лицензия
Комментариев нет:
Отправить комментарий