Parsing HTML con C ++ (usando Qt preferiblemente)

Estoy tratando de analizar algo de HTML con C ++ para extraer todas las URL del HTML (las URL pueden estar dentro de los atributos href y src).

Traté de usar Webkit para hacer el trabajo pesado por mí, pero por alguna razón cuando cargo un marco con HTML, el documento generado está completamente mal (si hago que Webkit obtenga la página de la web, el documento generado está bien, pero Webkit también descarga todas las imágenes, estilos y scripts y no quiero eso)

Esto es lo que intenté hacer:

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

¿Qué estoy haciendo mal? ¿Hay una manera fácil de analizar HTML con Qt? (O alguna otra biblioteca ligera)