Hallo Kollegen,
ich hatte bereits vor einiger Zeit ein ähnliches Problem (siehe hier) bei dem es um die Extraktion des HTML Quellcodes einer im WebGadget angezeigten Webseite ging.
Aktuell versuche ich quasi das gleiche, doch die betreffende Seite stellt mich vor folgende Hürden:
a) Sie wird im WebGadget nicht korrekt gerendert (Skriptfehler). Das WebGadget kann daher nicht verwendet werden.
b) Die Werte, die ich extrahieren möchte, sind im mittels (PB-)HTTPRequest angeforderten HTML Quellcode nicht enthalten.
Ich kann die betreffenden Werte jedoch sowohl im Browser (hier ein Google Chrome Derivat) auf der gerenderten Seite sehen, als auch mit den Developer Tools des Browsers, wenn ich auf das gesuchte Element ein Rechtsklick ausführe und "untersuchen" auswähle.
Wenn ich im Browser "Seitenquelltext anzeigen" auswähle und diesen dann durchsuche, dann sind diese Werte nicht dabei.
Leider kann ich euch die Seite (URL) aus Datenschutzgründen hier nicht nennen (man benötigt auch einen Mitarbeiter-login, um die betreffenden Seiten aufzurufen). Dummerweise habe ich in freier Wildbahn auch noch keine ähnliche Seite gefunden, an der das nachvollziehbar wäre. Ich suche aber weiter.
Die eigentliche Frage ist: Wie kommt man an die gesuchten Daten, die offenbar nur mit den Developer Tools des Browsers einsehbar sind?
Ich bin hier auch für Ansätze in PHP, JavaScript oder Einsatz von externen Commandline-Programmen offen. Eigentlich brauche ich nur einen kleinen Wink in die richtige Richtung. Es sollte unter Windows 7/10 laufen oder halt komplett im Browser (JavaScript, PHP).
Gruß
Kurzer
PS: Mist, das sollte eigentlich in der Rubrik "Allgemein" landen, nicht in "Anfänger".
Wie gerendertes HTML ohne WebGadget catchen
Wie gerendertes HTML ohne WebGadget catchen
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
Re: Wie gerendertes HTML ohne WebGadget catchen
Was du suchst ist so etwas wie PhantomJS.
Aber ich wuerde erst einmal sehen, woher diese Daten kommen. Wenn sie einfach nachgeladen werden, solltest du dir mal den Datenverkehr im Browser ansehen. Gut moeglich das sie einfach per xmlhttprequest reinkommen, das laesst sich dann sehr einfach mit PB nachbauen.
Viel Erfolg.
Aber ich wuerde erst einmal sehen, woher diese Daten kommen. Wenn sie einfach nachgeladen werden, solltest du dir mal den Datenverkehr im Browser ansehen. Gut moeglich das sie einfach per xmlhttprequest reinkommen, das laesst sich dann sehr einfach mit PB nachbauen.
Viel Erfolg.
Re: Wie gerendertes HTML ohne WebGadget catchen
Vielen Dank für den Hinweis mit dem Beobachten des Datenverkehrs.
Da wird unter anderem eine ".../search?tags=a,b,c,d..." Seite aufgerufen die dann Content generiert mit dem ich wieder mehr anfangen kann.
Von da aus muss ich mich mit parsen und weiteren generierten Seiten durch hangeln. Letztendlich kommen die Werte in der Tat in einer XML Struktur in die Seite, wie mein "Reverse engineering" gezeigt hat.
Ich denke, dass mir das so ausreicht.
Gruß Kurzer
Da wird unter anderem eine ".../search?tags=a,b,c,d..." Seite aufgerufen die dann Content generiert mit dem ich wieder mehr anfangen kann.
Von da aus muss ich mich mit parsen und weiteren generierten Seiten durch hangeln. Letztendlich kommen die Werte in der Tat in einer XML Struktur in die Seite, wie mein "Reverse engineering" gezeigt hat.
Ich denke, dass mir das so ausreicht.
Gruß Kurzer
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.