grab json von webside

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
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

Code: Alles auswählen

script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"structur .... usw.
sieht es am ende der seitenquelltext aus.
wie kann ich die json datei downloaden, grabben ?
im browser ist die ja auch zu finden unter Netzwerkanalyse.
wie kann ich evtl mittels selenium die json datei downloaden ?
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Ernie1412: Man hat ein HTML-Element mit einer ID, wo ist das Problem?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

ich weiss nicht wie man es runterladet. ich hab einiges im netz gefunden aber nichts funktionierte
info=driver.find_element_by_xpath("//script[@type='application/json']")
und dann ... ?
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Welchen Wert hat denn dann "info"?
Wobei man über die immer eindeutige ID wohl einfacher an den Tag kommt.
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

info is None als ergebnis
bei xpather.com im test erhalte ich die json daten.
gibts sowas wie Info.json ?
da meckert er selbstverständlich auch weils ein object ist kein text
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

Dann wird es Zeit, etwas mehr als Häppchen zu zeigen.
Wie sieht der Tag in der Webseite aus?
Wie rufst du die Seite auf, etc.

Ich habe auch keine Ahnung, was du mit "Info.json" meinst.
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

Code: Alles auswählen

....    </main><div class="LazyFooter__LoadingFooter-sc-1exrclf-0 iXjJWh"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"structuredData":{"@type":"VideoObject","name":"Wild .... usw.
aufrufe:

Code: Alles auswählen

driver = webdriver.Chrome(r"E:\Python\Python3-9-13\Lib\site-packages\selenium\webdriver\chrome\chromedriver.exe",options=options)
        driver.get(Url)
        info=driver.find_element_by_xpath("//script[@type='application/json']")
bzw.

Code: Alles auswählen

info=driver.find_element_by_xpath("//script[@id='__NEXT_DATA__']")
print(info.text)
Ausgabe: "nichts" also ""
print(info.json)
Error: "webelement hat kein text"

wie kriege ich die daten als json datei die hinter den .../json"> steht ?
Antworten