¿Cómo voy a analizar todas las propiedades "href" de las etiquetas html "a" en una página llena de BAD html, en Qt?¿La mejor manera de analizar HTML en Qt?
16
A
Respuesta
18
Utilizaría el QtWebKit incorporado. No sé cómo funciona en términos de rendimiento, pero creo que debería capturar todo el HTML "malo". Algo así como:
class MyPageLoader : public QObject
{
Q_OBJECT
public:
MyPageLoader();
void loadPage(const QUrl&);
public slots:
void replyFinished(bool);
private:
QWebView* m_view;
};
MyPageLoader::MyPageLoader()
{
m_view = new QWebView();
connect(m_view, SIGNAL(loadFinished(bool)),
this, SLOT(replyFinished(bool)));
}
void MyPageLoader::loadPage(const QUrl& url)
{
m_view->load(url);
}
void MyPageLoader::replyFinished(bool ok)
{
QWebElementCollection elements = m_view->page()->mainFrame()->findAllElements("a");
foreach (QWebElement e, elements) {
// Process element e
}
}
utilizar la clase
MyPageLoader loader;
loader.loadPage("http://www.example.com")
y luego hacer lo que quiera con la colección.
6
esta cuestión ya es bastante antiguo. Sin embargo, espero que esto ayude a alguien:
Escribí dos clases pequeñas para Qt que publiqué en sourceforge. Esto te ayudará a acceder a un archivo html comparable al que usas con XML.
Aquí encontrará el proyecto:
http://sourceforge.net/projects/sgml-for-qt/
Aquí encontrará un sistema de ayuda en el wiki.
Drewle
Cuestiones relacionadas
- 1. Mejor manera de analizar un HTML no válido en PHP
- 2. ¿La mejor manera de analizar el flotador?
- 3. manera más fácil de analizar JSON en Qt 4.7
- 4. La mejor manera de analizar Java en Java
- 5. ¿Cuál es la mejor manera de analizar una gramática simple?
- 6. La mejor manera de analizar feeds RSS/Atom con PHP
- 7. Mejor manera de analizar DateTime en el servidor SQL
- 8. ¿Cuál es la mejor manera de mostrar HTML en Flex?
- 9. ¿la mejor manera de externalizar HTML en aplicaciones GWT?
- 10. La mejor manera de incrustar el flash en html
- 11. ¿La mejor manera de devolver html desde la función php?
- 12. mejor manera de inyectar html usando javascript
- 13. Mejor manera de analizar un documento de texto
- 14. Java: la mejor manera de eliminar Javascript de HTML
- 15. mejor manera de analizar espacio separado del texto
- 16. La mejor manera de agregar metadatos a los elementos HTML
- 17. La mejor manera de obtener una etiqueta HTML variable
- 18. ¿La mejor manera de formatear un correo electrónico HTML?
- 19. Cómo analizar una cadena XML en Qt
- 20. Usando la herramienta 'Analizar memoria' en Qt Creator
- 21. analizar un archivo XML en Qt
- 22. ¿cuál es la mejor manera de analizar la respuesta XML en AJAX
- 23. ¿Cuál es la mejor manera de analizar muchos argumentos complejos de línea de comandos en Java?
- 24. mejor manera de colocar SVG contenido en el archivo HTML
- 25. ¿Cuál es la mejor manera de analizar el archivo de Excel en Perl?
- 26. La mejor manera de tokenizar y analizar lenguajes de programación en mi aplicación
- 27. ¿Cuál es la mejor manera de analizar los números localizados de .NET/Razor en javascript?
- 28. ¿Cuál es la mejor manera de analizar una cadena de palabras "malas" en C#?
- 29. ¿Cuál es la mejor manera de analizar XML grande (tamaño de 1 GB) en C#?
- 30. ¿La mejor manera de analizar un archivo de coma flotante grande almacenado en ASCII?
¿Puede ser más específico acerca de lo que es malo sobre el HTML? ¿Es malo regularmente o es basura completa? No puedes arreglar lo que está produciendo el HTML? – Bill
no utilizan expresiones regulares ... http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – Malfist
Es una búsqueda en Google, HTML de Google es terrible. ¡Se han encontrado errores al verificar este documento como HTML5! Resultado: \t 50 errores, 16 advertencia (es) – y2k