Wie würde ich gehen, um alle "a" HTML-Tags "href" -Eigenschaften auf einer Seite voller BAD html in Qt zu analysieren?Beste Art, HTML in Qt zu analysieren?
16
A
Antwort
18
Ich würde das eingebaute QtWebKit verwenden. Ich weiß nicht, wie es in Bezug auf die Leistung funktioniert, aber ich denke, es sollte alles "schlechte" HTML fangen. Etwas wie:
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
}
}
die Klasse verwenden
MyPageLoader loader;
loader.loadPage("http://www.example.com")
und dann tun, was Sie mit der Sammlung mögen.
6
Diese Frage ist schon ziemlich alt. Trotzdem hoffe ich, dass dies jemandem hilft:
Ich habe zwei kleine Klassen für Qt geschrieben, die ich unter sourceforge veröffentlicht habe. Dies wird Ihnen helfen, auf eine HTML-Datei zuzugreifen, die mit XML vergleichbar ist.
Hier finden Sie das Projekt finden:
http://sourceforge.net/projects/sgml-for-qt/
Hier finden Sie eine Hilfe-System im Wiki finden.
Drewle
Verwandte Themen
- 1. Beste Art, QSignalMapper zu verwenden
- 2. Beste Art, Daten in BoltDB zu speichern
- 3. Beste Art, in Sqlalchemy enum zu machen?
- 4. Html Analysieren in Android
- 5. Wie HTML in PHP eleganter zu analysieren?
- 6. Wie fehlerhafte HTML in Python zu analysieren
- 7. Wie multidimensionale JSON leicht zu HTML analysieren?
- 8. HTML-Tabelle zu Groovy-Liste analysieren?
- 9. Beste Art, große "Arbeitswarteschlangen"/"Eingabewarteschlangen" zu verwalten?
- 10. Beste Art, große Datenmengen zu speichern
- 11. Die beste Art Guava zu verwenden
- 12. Beste Art, um Umsatzsteuerinformationen zu speichern
- 13. Die beste Art, Benutzer zu finden
- 14. einfachste Weg, JSON in Qt zu analysieren 4.7
- 15. Die beste Art, eine Spielkarte zu erstellen
- 16. Idiomatische Art, POSIX-Zeitstempel in Pandas zu analysieren?
- 17. Beste Art, nachgestellte Benutzer zu speichern
- 18. Beste Art, Live-MySQL-Datenbank zu archivieren
- 19. Beste Art, Visual Studio zu kaufen
- 20. Analysieren einer XML-Datei in Qt
- 21. Beste Art für unisono
- 22. Wie HTML in einem clientseitigen Skript analysieren?
- 23. JSON-Antwort in HTML und Javascript analysieren
- 24. XML in HTML/JS analysieren
- 25. Wie HTML in AutoHotKey analysieren?
- 26. Wie HTML in PHP analysieren?
- 27. Verhindern, dass xcode versucht, html zu analysieren
- 28. Wie HTML-Datei mit Clojure zu analysieren?
- 29. Wie HTML-Referenzen einfach zu analysieren
- 30. Die beste Möglichkeit, Java in Java zu analysieren
Können Sie das konkretisieren, was über die HTML schlecht ist? Ist es regelmäßig schlecht oder ist es Müll? Sie können nicht reparieren, was den HTML produziert? – Bill
nicht regex verwenden ... http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contented-tags/1732454#1732454 – Malfist
Es ist eine Google-Suche, Google HTML ist furchtbar. Fehler beim Überprüfen dieses Dokuments als HTML5! Ergebnis: \t 50 Fehler, 16 Warnung (en) – y2k