Что посоветуете?
Для XML например использую pugixml или tinyxml. Нужно что-то аналогичное для HTML.
Задача простая: никакого выполнения скриптов, никакого рендеринга, а просто загрузить в память и сделать некоторые модификации.
Например перебрать рекурсивно все теги и удалить у них все атрибуты кроме "class". Или удалить некоторые теги, заменив эти теги их собственным содержимым (innerHTML). Или найти в <head> путь к css и при необходимости откорректировать его.
Т.е. библиотека должна уметь загружать, сохранять и предоставлять стандартные функции доступа и модификации DOM.
Ну естественно, нужно что-то качественное и проверенное, при этом желательно легковесное и не тянущее за собой зависимостей. Нечто подобное сейчас попробовал на Qt Webkit, но там нужно загружать страницу в браузерный компонент, а мне нужно для массовой пакетной обработки.
Здравствуйте, x-code, Вы писали:
XC>Т.е. библиотека должна уметь загружать, сохранять и предоставлять стандартные функции доступа и модификации DOM. XC>Ну естественно, нужно что-то качественное и проверенное, при этом желательно легковесное и не тянущее за собой зависимостей. Нечто подобное сейчас попробовал на Qt Webkit, но там нужно загружать страницу в браузерный компонент, а мне нужно для массовой пакетной обработки.
Здравствуйте, a7d3, Вы писали:
A>например https://habr.com/ru/post/280270/ A>подобное находится в гугле через «html parser for c++».
Я понимаю что находится, мне интересен именно практический опыт и проверенные временем решения, применяемые во многих проектах.
И кстати забыл сказать, пока лучше в рамках С++03.
еще есть https://github.com/lexbor/lexbor
но там 18 мегабайт, большую часть этого объема занимают какие-то файлы связанные с кодировками
строго говоря, мне это нафиг не нужно, мне вообще нужен парсер, который никаким анализом контента не занимается, он должен работать только с тегами и атрибутами, а контент прозрачно пропускать через себя и не трогать.
Причем даже теги и атрибуты не анализировать на "принадлежность к html", а просто работать с теми какие есть.
Здравствуйте, x-code, Вы писали:
XC>Вот я еще нашел какой-то XC>https://github.com/HamedMasafi/HtmlParser/ XC>очень маленький, не знаю правда насколько проверенный и надежный
Эта к сожалению многие операции не поддерживает. В частности удаление тегов и произвольных атрибутов.