Jak mam przeanalizować wszystkie właściwości "html" html tagów na stronie pełnej ZŁEGO html, w Qt?Najlepszy sposób na parsowanie HTML w Qt?
16
A
Odpowiedz
18
Chciałbym użyć wbudowanego QtWebKit. Nie wiem jak to działa pod względem wydajności, ale myślę, że powinien złapać cały "zły" HTML. Coś jak:
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
}
}
użyć klasy
MyPageLoader loader;
loader.loadPage("http://www.example.com")
a następnie zrobić cokolwiek chcesz z kolekcji.
6
to pytanie jest już dość stare. Niemniej jednak mam nadzieję, że to pomoże komuś:
Napisałem dwie małe klasy dla Qt, które opublikowałem pod sourceforge. Pomoże Ci to uzyskać dostęp do pliku html porównywalnego z XML.
Tutaj znajdziesz projektu:
http://sourceforge.net/projects/sgml-for-qt/
Tutaj znajdziesz help-system w wiki.
Drewle
Powiązane problemy
- 1. jaki jest najlepszy sposób na parsowanie odpowiedzi xml w AJAX
- 2. Parsowanie HTML w perlu
- 3. Najlepszy sposób robienia kolumn w HTML/CSS
- 4. Parsowanie reStructuredText do HTML
- 5. Parsowanie HTML w celu C
- 6. Lepszy sposób na parsowanie xml
- 7. Parsowanie HTML z Erlangiem
- 8. Parsowanie znaczników HTML
- 9. Parsowanie HTML z OCaml
- 10. najlepszy sposób wstrzykiwania html przy użyciu javascript
- 11. Najlepszy sposób konwertowania HTML na tekst jawny za pomocą Pythona
- 12. Najlepszy sposób na integrację kodu Pythona z HTML
- 13. Najlepszy sposób dodawania skryptów Pythona do aplikacji QT?
- 14. Parsowanie HTML za pomocą XPath
- 15. Najlepszy sposób, aby umieścić SVG treści w formacie HTML
- 16. Parsowanie fragmentów html z ożywieniem
- 17. Najlepszy sposób reprezentowania par klucz/wartość w nazwach klas HTML
- 18. Jaki jest najlepszy sposób przycinania obrazu w HTML?
- 19. parsowanie stron HTML z HtmlAgilityPack
- 20. Najlepszy sposób na buforowanie json
- 21. Najlepszy sposób na wyczyszczenie UITextField
- 22. Jaki jest najlepszy sposób wyświetlania HTML w Flexie?
- 23. Najlepszy sposób na generowanie xml?
- 24. Najlepszy sposób na "zanegowanie" instancji
- 25. Najlepszy sposób na wykrycie IronPython
- 26. Najlepszy sposób na pusty stringstream?
- 27. Najlepszy sposób na dołączenie Linq
- 28. Najlepszy sposób na udostępnianie społecznościowe w Androidzie
- 29. Najlepszy sposób na sprawdzenie alfanumeryczne w JavaScript
- 30. Najlepszy sposób na stoper w systemie UNIX
Czy możesz dokładniej określić, co jest złego w HTML? Czy to źle, czy jest to kompletne śmieci? Nie możesz naprawić tego, co produkuje HTML? – Bill
nie używaj wyrażenia regularnego ... http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – Malfist
To wyszukiwanie google, HTML Google'a jest okropny. Znaleziono błędy podczas sprawdzania tego dokumentu jako HTML5! Wynik: \t 50 błędów, 16 ostrzeżeń – y2k