Anfängerproblem WebScraping

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
eule12
User
Beiträge: 1
Registriert: Dienstag 15. August 2023, 14:15

Hallo erstmal,
also ich schreibe gerade mein erstes Programm und bräuchte eure Hilfe.
Ich habe bzgl. WebScraping verschiedene Anfängervideos geschaut, jedoch hilft das mir bei meinem Problem nicht.

Also ich möchte die Wettquoten folgender Seite : https://sports.tipico.de/de/live/default speichern.

--------------------------------------------------------------------------------------------------------------------
from bs4 import BeautifulSoup
import requests

HEADERS = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0",
}

tipico = requests.get("https://sports.tipico.de/de/live/default", headers=HEADERS)
soup = BeautifulSoup(tipico.content, "html.parser")
----------------------------------------------------------------------------------------------------------------------------


Mein Problem nun : Ich kriege nicht die Daten die ich beim Webentwickler unter Inspektor sehe, sondern einen ganz anderen.

Auch wenn ich beim Link https://sports.tipico.de/de/live/default per Rechtsklick Seitenquelltext anzeigen klicke, sehe ich dort keinerlei Wettquoten.

Die sehe ich nur beim Inspektor unter Webentwickler.

Bin für jede Hilfe natürlich sehr dankbar. Hoffe dafür gibt es einfache Lösungen...
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Die Daten sind nicht statisch in die Seite eingebettet, sondern werden dynamisch nachgeladen.
Wie das passiert, müßtest Du im Netzwerk-Reiter herausfinden, also welche weiteren Anfragen im Hintergrund gestellt werden.
Benutzeravatar
noisefloor
User
Beiträge: 3857
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wenn Daten dynamisch nachgeladen werden funktioniert auch i.d.R. normales Webscraping nicht mehr, sondern du musst mit einem headless Browser die Abfrage nach programmieren. Das geht. z.B. mit Selenium.

Und wie immer bei so Sachen der Hinweis: viele Seiten wollen nicht und verbieten, dass man Daten ungefragt per Webscraping abgreift und etablieren ihrerseits Gegenmaßnahmen. Könnte ich mit beim besagten Anbieter auch gut vorstellen. Sauberer (und ggf. legaler) ist es immer erst zu schauen, ob die Webseite bzw. der Anbieter nicht ein offizielle API zur Abfrage der Daten anbietet.

Gruß, noisefloor
nezzcarth
User
Beiträge: 1636
Registriert: Samstag 16. April 2011, 12:47

Ergänzend zu dem, was die anderen schon meinten: Was du in der Quelltextansicht siehst, ist der tatsächliche Seitenquellentext, so, wie er nach dem einen Request zurückgeliefert wird. Was du im Inspektor siehst, ist der Dokumentenbaum (DOM-Tree) der "fertig" geladenen Seite, den dein Browser nach und nach aus den Inhalten, wie sie reinkommen, aufbaut, intern zur Darstellung der Seite verwendet und der sich dynamisch ändern kann.
Antworten