Bei HTML nur bestimmte Zeile/Bereich lesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Megamag

Betreff: Bei HTML nur bestimmte Zeile/Bereich lesen

BeitragMi, März 02, 2011 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag Leute! Very Happy
In diesem Thema habe ich euch ja bereits gefargt, wie man den HTML Code einer Website lesen kann. Das funktioniert ja soweit auch. Eigentlich funktioniert alles perfekt. Nur gibt es da immernoch eine Sache, die mich stört:

Und zwar dient die ganze Sache nicht nur dazu, mir den HTML-Code anzugucken, sondern ich brauche das, um Infomationen aus dem Internet zu bekommen und dann in BB zu verwenden. Um es einfach zu machen: Ich möchte aus einem privaten Forum Mitglieder auslesen, um eine Liste daraus zu erstellen (keine Sorge, ist wird nichts Illegales Wink ). Das bedeutet also, dass ich diese Mitgliedsnamen irgendwie aus dem HTML-Code rausfischen muss. Auch das klappt alles so wie es soll. Wo liegt dann das Problem?

Das Problem ist, dass ich zurzeit den gesamten HTML-Code der Seite durchgehen muss, um die Namen zu bekommen. D.h. also mit ReadLine alle Zeilen des Codes durchgehen, bis eine davon die gesuchte Infomation enthält. Und dann weitermachen mit der nächsten Seite. Das ist ja schön und gut, aber viel zu langsam, denn diese Namen kommen immer in knapp der Hälfte des Codes vor. Selbst wenn ich das Auslesen also anhalte, sobald ich den Namen habe (und das passiert bereits), muss die erste Hälfte des Codes trotzdem ausgelesen werden und das dauert immer etwas. Bei sagen wir mal 100 Mitgliedern dauert der ganze Vorgang schonmal ein paar Minuten. Ich habe mich gefragt, ob man das wohl abkürzen kann, indem man einen gewissen Teil des Codes einfach überspringt, oder besser direkt die Zeile aufruft. Da ich nur wenig von Internet und HTML verstehe, weiß ich leider nicht, inwiefern das (vorallem mit BB) machbar ist. Daher frage ich euch Very Happy

Hier ist einmal der ganz normale Code zum Auslesen:
BlitzBasic: [AUSKLAPPEN]
tcp = OpenTCPStream( server$, 80 ) 

WriteLine tcp,"GET *mitglieds-seite* HTTP/1.1"
WriteLine tcp,"Host: *host-seite*"
WriteLine tcp,"User-Agent: me"
WriteLine tcp,"Accept: */*"
WriteLine tcp,""

While Not Eof(tcp)
html_line$ = ReadLine$(tcp)
DebugLog html_line
Wend


Dann habe ich im Internet rausgefunden, dass man mit "Range" wohl irgendwie bloß einen gewissen Teil des Dokuments anfordern kann. Ich habe es testweise mal so ausprobiert:
BlitzBasic: [AUSKLAPPEN]
tcp = OpenTCPStream( server$, 80 ) 

WriteLine tcp,"GET *mitglieds-seite* HTTP/1.1"
WriteLine tcp,"Host: *host-seite*"
WriteLine tcp,"Range: bytes=10-20"
WriteLine tcp,"User-Agent: me"
WriteLine tcp,"Accept: */*"
WriteLine tcp,""

While Not Eof(tcp)
html_line$ = ReadLine$(tcp)
DebugLog html_line
Wend


Aber das hat nicht funktioniert.
Über eure Hilfe würde ich mich sehr freuen! Very Happy

Mfg Megamag
Mein DeviantArt Profil
Gewinner des BAC #136

Eingeproggt

BeitragMi, März 02, 2011 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Seh ich im Moment keine andere Möglichkeit als die gesamte Seite auszulesen, denn solange das Forum nicht bereit ist, dir die Daten so zu servieren wie du sie brauchst... woher sollst du sie sonst kriegen? Wink
Ich frag mich nur, warum du nicht die Mitgliederliste lädtst, die ja gleich.. kA... 20 Mitlgieder auf einmal enthält. Aber vermutlich wirst du hier auch deinen Grund haben (bestimmte Profilfelder auslesen?)

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Megamag

BeitragMi, März 02, 2011 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Seh ich im Moment keine andere Möglichkeit als die gesamte Seite auszulesen, denn solange das Forum nicht bereit ist, dir die Daten so zu servieren wie du sie brauchst... woher sollst du sie sonst kriegen? Wink

Naja, ich dachte ja nur, dass man das vielleicht irgendwie abkürzen kann Very Happy

Zitat:
Ich frag mich nur, warum du nicht die Mitgliederliste lädtst, die ja gleich.. kA... 20 Mitlgieder auf einmal enthält. Aber vermutlich wirst du hier auch deinen Grund haben (bestimmte Profilfelder auslesen?)

Ja, ich lade in der Tat die Mitgliederliste (um die Namen zu bekommen), aber wie du ganz richtig angemerkt hast, brauche ich zusätzlich auch noch bestimmte Profilinformationen und muss daher auch auf die einzelnen Seiten nochmal zugreifen.
Mein DeviantArt Profil
Gewinner des BAC #136

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group