我想用C++解析一些HTML以從HTML中提取所有的URL(這些URL可以在href和src屬性中)。用C++解析HTML(最好使用Qt)
我試圖使用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? (或其他一些輕量級庫)
1. 「生成的文檔」? 2.你說「全部錯」是什麼意思? 3.預期的行爲是什麼? 4.什麼是實際行爲? – 2011-05-22 05:48:29
@Billy ONeal - 當我用HTML加載框架時,框架內的文檔結構缺少幾個元素。 (如果我使用page-> load(url))從網頁加載頁面,則不會發生這種情況。 – Raphael 2011-05-22 05:52:10
@ Billy ONeal - 當我打印加載的文檔時,我可以看到它只包含原始HTML的一些元素。如果你把這個代碼放在一個簡單的程序中,編譯它,你會看到我在說什麼。 – Raphael 2011-05-22 05:55:46