HTML Parsen

Alles rund um die Programmierung mit Qt
Antworten
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

HTML Parsen

Beitrag 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
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag 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
Leffotrak
Beiträge: 26
Registriert: 12. Mai 2007 10:44

Re: HTML Parsen

Beitrag 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.
drewle
Beiträge: 38
Registriert: 4. März 2008 20:59
Kontaktdaten:

Beitrag 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
Hic Rhodos Hic Salta
http://www.hic-net.de
Antworten