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...
Anfängerproblem WebScraping
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.
Wie das passiert, müßtest Du im Netzwerk-Reiter herausfinden, also welche weiteren Anfragen im Hintergrund gestellt werden.
- 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
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
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.