#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 лицензия
Комментариев нет:
Отправить комментарий