Fehler bei String parsen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Fehler bei String parsen

Beitrag von X360 Andy »

Guten Abend

Ich habe gerade ein seltsames phänomen was ich zum ersten mal beobachte.
ReceiveHTTPFile zeigt mir einen sehr langen String als "[...]" an, sollang das nur in der Debuger ausgabe so ist, ist mir es recht.
Doch auch bei der verarbeitung wird scheinbar "[...] benützt.


Ich möchte eine Webseite komplett abscannen und auf veränderungen prüfen.

Hier mein [Anfangs]Code

Code: Alles auswählen

InitNetwork()

Global atm
Global Dim mainlink.s(7)
mainlink(0) = "http://www.austria-tourist.net/_dt/Oesterreich/Burgenland_orte.htm"
mainlink(1) = "http://www.austria-tourist.net/_dt/Oesterreich/Niederoesterreich_orte.htm"
mainlink(2) = "http://www.austria-tourist.net/_dt/Oesterreich/Oberoesterreich_orte.htm"
mainlink(3) = "http://www.austria-tourist.net/_dt/Oesterreich/Salzburger_Land_orte.htm"
mainlink(4) = "http://www.austria-tourist.net/_dt/Oesterreich/Steiermark_orte.htm"
mainlink(5) = "http://www.austria-tourist.net/_dt/Oesterreich/Tirol_orte.htm"
mainlink(6) = "http://www.austria-tourist.net/_dt/Oesterreich/Vorarlberg_orte.htm"
mainlink(7) = "http://www.austria-tourist.net/_dt/Oesterreich/Wien_orte.htm"

Procedure GetSubLink()
  link$ = mainlink(atm)
  If ReceiveHTTPFile(link$, GetTemporaryDirectory() + "site.html")
    If ReadFile(0, GetTemporaryDirectory() + "site.html")
      While Eof(0) = 0
        mainsubsitestring$ = ReadString(0)
        count = CountString(mainsubsitestring$, "<a href=")
        For k = 0 To count
          midstring$ = StringField(mainsubsitestring$, k, "<a href=")
          midstring$ = Mid(midstring$, 8)
          midstring$ = Left(midstring$, FindString(midstring$, ">", 0)-1)
          If Not midstring$ = "" And Left(midstring$,7) = "http://"
          Debug midstring$ 
          EndIf
        Next
      Wend
      CloseFile(0)
    EndIf
  EndIf
EndProcedure
 
GetSubLink()
Die Ausgabe hört bei dem Buchstaben "G" in etwa auf.

In der Webseite wird der Inhalt den ich haben möchte in einen sehr sehr langen String dargestellt ( natürlich im browser mit Zeilenumbruch ) der Debugger von PB gibt mir diesen String Anfangs richtig zurück ab einem bestimmten Punk dann aber nur noch als [...], das der Debugger so macht ist mir egal doch Pb scheint das intern wohl auch so zu machen ... ?

Kann jemand helfen ?
Zuletzt geändert von X360 Andy am 27.02.2010 13:53, insgesamt 1-mal geändert.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von Kiffi »

X360 Andy hat geschrieben:doch Pb scheint das intern wohl auch so zu machen ... ?
nein, PB macht das nicht so. Sowas wäre ja auch ziemlich übel.

Also bei mir werden ne Menge Links durch Deine Routine ausgegeben.
Scheint alles OK zu sein (ohne jetzt die entsprechende Seite auf
die tatsächlich vorhandenen Links überprüft zu haben).

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von X360 Andy »

Die Ausgabe bei dem Code ist bei mir

Code: Alles auswählen

http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Andau.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Antau.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Apetlon.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Bad_Sauerbrunn.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Bad_Tatzmannsdorf.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Badersdorf.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Baumgarten.htm
....
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Grafenschachen.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Grosshoeflein.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Grossmuerbisch.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Grosspetersdorf.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Grosswarasdorf.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Guessing.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Guettenbach.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Hackerberg.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Halbturn.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Hannersdorf.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Heiligenbrunn.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Heiligenkreuz_im_Lafnitztal.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Heugraben.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Hirm.htm
http://www.austria-tourist.net/_dt/Oesterreich/Burgenland/Horitschon.htm
Das ganze sollte bis Z gehen ....
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von Bisonte »

Also kürzen von Strings passiert nicht.

Im Texteditor (Notepad++) hat die Zeile die Du auslesen willst 19499 Zeichen.
Wenn Du mit Len() den längsten String prüfst hat er die gleiche Anzahl an Zeichen.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von X360 Andy »

Stimmt an diese Prüfung des Strings habe ich nicht wirklich gedacht.
Danke somit kann man natürlich ein Problem mit ReceiveHTTPFile ausschließen.

Gruß
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von Kiffi »

X360 Andy hat geschrieben:Danke somit kann man natürlich ein Problem mit ReceiveHTTPFile ausschließen.
wäre auch schneller gegangen, wenn Du Dir die Datei, die
Du unter GetTemporaryDirectory() + "site.html" abspeicherst,
mal angeschaut hättest ;-)

Grüße ... Kiffi
a²+b²=mc²
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

ladet

Beitrag von Kaeru Gaman »

<offtopic>
  • lädt
</offtopic>
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: ReceiveHTTPFile ladet nur einen Teil herunter

Beitrag von X360 Andy »

@Kiffi
Könnte die Datei ja auch im temp verzeichnis anschauen ... hast aber recht.

@KG
Ändere den Titel au gleich mal in was passenders.
Antworten