Seite 1 von 1

Web Scrapping

Verfasst: Freitag 23. Juli 2021, 23:19
von Bl3nder
Hallo Leute,

Ich würde gerne Daten von einer Webseite laden nur egal wie Ich es versuche und nach welchem Tutorial Ich es auch versuche klappt es nicht ... da Ich wahrscheinlich zu dumm bin könnte mir das eventuell erklären Ich kommen leider nicht richtig weiter.


Internetseite:
https://www.deka.de/privatkunden/fondssuche

Ich möchte gerne die Namen


Code:

Code: Alles auswählen

from bs4 import BeautifulSoup
import requests


html_code = requests.get("https://www.deka.de/privatkunden/fondssuche").text
soup = BeautifulSoup(html_code,"html.parser")

fonds = soup.find_all("div",class_="tab-content")

print(fonds)

danach weiß ich nicht weiter Ich kenne mich auch 0 mit Java oder html aus ... Ich weiß das man mit BeautifulSoup arbeiten kann / soll wenn die Seite nicht dynamisch arbeitet ... da Ich nicht weiß was das richtig ist -> Ich glaube da wird Serverseitig dann mit Javascripts gearbeitet habe Ich versuch überhaupt zu verstehen woran Ich das erkenn ( ob eine Seite dynamisch arbeitet) "Dynamische Webseiten sind an Parametern wie “?”, “=” oder „&“ in der URL zu erkennen. Es gilt dabei: wird auf solchen Seiten der Inhalt geändert oder ergänzt, ändert sich auch die URL. Laut Suchmaschinen-Betreibern können URLs mit Parametern mittlerweile von Suchmaschinen ausgelesen werden." das wäre also in meinem Fall nicht so Ich hoffe ihr könnt mir helfen ... Ich danke euch

Re: Web Scrapping

Verfasst: Samstag 24. Juli 2021, 11:22
von rogerb
@Bl3nder,

du hast das Problem eigentlich schon erkannt. Fast alle modernen Webseiten sind dynamisch aufgebaut. Sie erkennen die Größe deines Bildschirms und ändern das Layout entsprechend um dir den Inhalt möglichst übersichtlich anzuzeigen. Das heißt, dass die Seite unter Umständen ganz anders aufgebaut ist als du es erwartest.
Wenn du jetzt mit requests.get() den HTML-Code lädst wird der Inhalt höchstwahrscheinlich anders sein als das was du im Browser sehen würdest.

Oft werden Daten auch erst nachgeladen während sich die Seite aufbaut. Das Nachladen der Daten geschieht oft durch Javascript-Code der in die Seite eingebettet ist.
Das kann man sich zu Nutze machen...

Wenn du im Browser F12 drückst öffnet sich die Debug Konsole.
Du kannst jetzt das Netzwerk-Tab anwählen und noch einmal die Seite neu laden. Die siehst wie die Seite durch verschiedene Serveranfragen aufgebaut wird.

Wenn man sich ein bischen auskennt wird man die Anfrage finden, die die Fondsdaten nachläd.

Sie enthält die entsprechende url und Queryparameter.
Die wiederum kannst du in deine request.get() Anfrage einbauen, die Query-Parameter einstellen und dann bekommst eine lange Liste der Fondsdaten.

BeautifulSoup ist nur für statische Seiten geeignet und ist hierfür auch gar nicht nötig, da die Daten als JSON-String zurückgegeben werden.

Re: Web Scrapping

Verfasst: Sonntag 25. Juli 2021, 14:15
von Bl3nder
Ich danke dir für die Antwort jedoch bringt mich das nicht weiter Ich lasse es dann einfach bleiben trotzdem vielen Dank

Re: Web Scrapping

Verfasst: Montag 26. Juli 2021, 12:44
von /me
Bist du eigentlich sicher, dass du "scrapping" und nicht "scraping" meinst? Das unterscheidet sich von der Bedeutung her schon.

Re: Web Scrapping

Verfasst: Montag 26. Juli 2021, 12:50
von __blackjack__
@/me: Das ist ein ziemlich häufiger Fehler. Immer wenn ich den sehe, denke ich es harkt. 😉

Re: Web Scrapping

Verfasst: Dienstag 27. Juli 2021, 07:58
von __deets__
Als Leihe sind das alles bohemische Dörfer für mich!