Seite 1 von 1

HTML Parsen

Verfasst: 12. August 2007 12:10
von Frostie
Hallo,

hab nichts passendes gefunden.

Wie kann ich am besten ne Webseite nach etwas durchsuchen??

Gibts da nen HTML Parser??

Oder ist es besser die Seite erst runterzuladen und dann zu durchsuchen??

Hatte es so probiert, ging aber leider nicht:

Code: Alles auswählen

file.setFileName("index.html"); 
	if (!file.open(QIODevice::WriteOnly )) 
    { 		
		this->label_2->setText("Write Only!");		
        return; 
    } 
    out.setDevice(&file); 
    out.setVersion(5); 
	connect( &http, SIGNAL(requestStarted (int)), this, SLOT(requestStarted(int)) );
    connect( &http, SIGNAL(requestFinished (int,bool)), this, SLOT(requestFinished(int,bool)) ); 
	connect( &http, SIGNAL(done(bool)), this, SLOT(done(bool)));

    http.setHost("www.trolltech.com"); 
    getID = http.get("/index.html", &file); 
Das File bleibt leider leer, es scheint nur zu gehen, wo jeder volle Rechte drauf hat!??

Danke

Verfasst: 13. August 2007 08:19
von Sephral
Hallo,

habe es bisher immer so gemacht, dass ich die Seite mit QHttp geladen und dann mit QRegExp die Daten heraus geholt habe.

Ciao,
Sephral

Re: HTML Parsen

Verfasst: 13. August 2007 16:40
von Leffotrak
Frostie hat geschrieben: Oder ist es besser die Seite erst runterzuladen und dann zu durchsuchen??
Das ist abhängig von dem was zu machen willst. Wenn du nicht viel zu ersetzen hast, würde ich der Einfachheit halber die Webseite komplett laden und dann die RegExp-Engine drüberlaufen lassen. Hast du viel zu ersetzen oder legst wert auf maximale Performance, dann mußt du die ankommenden Daten-Chunks direkt verarbeiten.
Leider ist das nicht so trivial wie es sich anhört, weil man immer nur Teile der Webseite vor sich hat und deine RegExp deswegen eventuell nicht alle Vorkommen finden.

Verfasst: 6. Januar 2011 13:43
von drewle
Hallo,
mit RegExp html parsen ist nicht wirklich ideal. Darum hab ich mir einen html-parser geschrieben:
http://sourceforge.net/projects/sgml-for-qt/
Hier ist eine Beschreibung:
http://sourceforge.net/apps/mediawiki/s ... =Main_Page

Runterladen würde ich die Seite in jedem Fall. Das vereinfacht die Sache doch sehr.

Drewle