Это работает, только если HTML был загружен из Интернета. Если я загружу HTML-код вручную, он сломается из-за искаженных тегов, присутствующих на 90% веб-сайтов.

аюсь проанализировать HTML с C ++, чтобы извлечь все URL из HTML (URL могут быть внутри атрибутов href и src).

Я пытался использовать Webkit, чтобы выполнить тяжелую работу за меня, но по какой-то причине, когда я загружаю фрейм с HTML, сгенерированный документ все неправильно (если я заставляю Webkit получить страницу из Интернета, сгенерированный документ просто отлично, но Webkit также скачивает все изображения, стили и сценарии, и я не хочу этого)

Вот что я пытался сделать:

frame->setHtml(HTML);
QWebElement document = frame->documentElement();
QList<QWebElement> imgs = document.findAll("a"); // Doesn't find all links
QList<QWebElement> imgs = document.findAll("img"); // Doesn't find all images
QList<QWebElement> imgs = document.findAll("script");// Doesn't find all scripts
qDebug() << document.toInnerXml(); // Print a completely messed-up document with several missing elements

Что я делаю неправильно? Есть ли простой способ разбора HTML с Qt? (Или какая-то другая легкая библиотека)

Ответы на вопрос(0)

Ваш ответ на вопрос