Re: Extrahieren des reinen Textes aus einer HTML-Seite.
Verfasst: 18.11.2023 10:13
Code: Alles auswählen
; HTML zu indexsequentielle Text
Url$="https://www.purebasic.fr/german/viewtopic.php?t=33073&start=50"
Define *Speicher=ReceiveHTTPMemory(Url$) ; Speicher kann via ReadData von Datei kommen.
If 0=*Speicher
Debug "Verbindungsfehler bei Seite: " +Url$
Else
Define Antwort$=PeekS(*Speicher,MemorySize(*Speicher),#PB_UTF8) ; Inhalt von *Speicher in String umwandeln.
; Suche alle Texte zwischen <HTML-Tags>.
Define KlammerAufPosition = FindString(Antwort$,"<",1) ; Suche eckige Klammer zu
Define Text$=Left(Antwort$,KlammerAufPosition-1) ; Sollte es Text vor der ersten Klammer geben.
i=1
While KlammerAufPosition>0 ; Wenn es noch eine eckige Klammer auf gibt.
While Text$<>"" And (Left(Text$,1)=#LF$ Or Left(Text$,1)=#TAB$ Or Left(Text$,1)=#CR$) ; Linke Tabulatoren und Wagenrückläufe löschen
Text$=Mid(Text$,2)
Wend
If Text$<>""
; If KlammerZu+1=13102
; ShowMemoryViewer(@Text$,Len(Text$)*2)
; Delay(5000)
; EndIf
If FindString(Text$," ") And Text$<>" " And Text$<>" » " And
Left(Text$,5)<>"/FONT" And Left(Text$,8)<>"<TD W" ; FindString Leerzeichen ist etwas zu hart.
Temp$=Temp$+RSet(Str(i),5,"0")+"."+RSet(Str(KlammerZu+1),5,"0")+":"+
Text$+#CRLF$ ;Speicher Text zwischen > und < in Temp$.
i+1
EndIf
EndIf
Define KlammerZu=FindString(Antwort$,">",KlammerAufPosition+1); Suche die eckige Klammer zu.
If KlammerZu>0
KlammerAufPosition=FindString(Antwort$,"<",KlammerZu) ; Suche eckige Klammer zu, wenn es keine gibt 0.
Text$=Mid(Antwort$,KlammerZu+1,KlammerAufPosition-KlammerZu-1)
Else
KlammerAufPosition=0 ; Sonderfall Text nach letzter Klammer zu
If KlammerZu+1<Len(Antwort$)
Temp$=Temp$+RSet(Str(i),5,"0")+"."+RSet(Str(KlammerZu+1),5,"0")+":"+
Mid(Antwort$,KlammerZu+1)+#CRLF$
EndIf
EndIf
Wend ; Wenn die Schleife fertig ist steht der Text der Seite in Temp$
FreeMemory(*Speicher)
For i=1 To Len(Temp$) Step 15000 ;nötig für PB 6.03
Debug Mid(Temp$,i,15000)
Next
; Temp$ könnte auch mit WriteString(#Datei, Text$ [, Format]) auf Datei ausgeben werden.
EndIf
; 00001.00216:Extrahieren des reinen Textes aus einer HTML-Seite. - Seite 6 - PureBoard
; 00002.02567:Zum Inhalt
; 00003.03398:Erweiterte Suche
; 00004.05628:Unbeantwortete Themen
; 00005.05888:Aktive Themen
; 00006.08040:Extrahieren des reinen Textes aus einer HTML-Seite.
; 00007.08250:Anfängerfragen zum Programmieren mit PureBasic.
; 00008.10022:Erweiterte Suche
; 00009.11938: 16.07.2018 11:14
; 00010.12166:Re: Extrahieren des reinen Textes aus einer HTML-Seite.
; 00011.12952:von
; 00012.13161:15.11.2023 17:47
; 00013.13251:Ich halte nur fest: Austeilen kannst Du, aber Einstecken nicht. - Ich habe nur reagiert.
; 00014.13349:Im übrigen kannst Du doch nicht Dein Verständnis von einer Sache zum Maßstab für wahr oder falsch machen. Aber Schwamm 'drüber'.
; 00015.13483:Wenn Du Deine beruflichen Erfahrungen argumentativ benennst, dann will ich mit meinen auch nicht zurückhalten. Bevor ich mich selbständig gemacht habe, war ich EDV-Leiter in einem Unternehmen mit mehr als 500 Mitarbeitern. Da hat es auch schon 'mal gerummst..., aber dann war auch alles wieder gut. In meinem ALTER (ich bin über achtzig mittlerweile) kann man nicht mehr so einfach eine neue Programmiersprache professionell erlernen.
; 00016.13922:Und deshalb bin für jede Hilfestellung dankbar. Wenn Du das nicht mehr tun kannst, respektiere ich das, und es ist gut.
; ...