omo comparar HTML com C ++ (usando Qt de preferênci

Estou tentando analisar um pouco de HTML com C ++ para extrair todos os URLs do HTML (os URLs podem estar dentro dos atributos href e src

Eu tentei usar o Webkit para fazer o trabalho pesado para mim, mas por algum motivo, quando carrego um quadro com HTML, o documento gerado está errado (se eu fizer o Webkit obter a página da Web, o documento gerado está ótimo, mas o Webkit também baixa todas as imagens, estilos e scripts e não quero isso)

Aqui está o que eu tentei fazer:

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

O que estou fazendo de errado? Existe uma maneira fácil de analisar HTML com Qt? (Ou alguma outra biblioteca leve)