Seite 1 von 1

Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 10:53
von charon82
Hallo,

ist es möglich von dieser Seite alle Vornamen in eine text datei herunterzuladen?
https://www.vita34.de/namenslisten/vorn ... #namelists

Herzliche Grüße
Robert

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 11:20
von __blackjack__
@charon82: Ja, das ist möglich. Zum Beispiel mit dem `requests`-Modul um den HTML-Quelltext herunterzuladen und dann mit dem BeautifulSoup-Package um das HTML zu parsen und die Namen da heraus zu holen.

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 11:23
von charon82
hmm.. ich versteh nur bahnhof :(

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 11:43
von charon82
Hallo, danke für deine Antwort.
Ich befasse mich gerade den zweiten Tag mit Pyhton. Bin also noch ganz frisch.
könntest du mir das ein wenig genauer erklären?

bzw. vielleicht kannst du mir das ja zeigen wie das geht?
oder gibt es vielleicht ein Youtube tutorial?

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 11:46
von ThomasL

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 11:59
von __blackjack__
@charon82: Um aus der URL eine lokale Textdatei nur mit den Vornamen zu machen, braucht man mehrere Schritte. Als erstes muss man den HTML-Quelltext der Webseite vom Server in den Speicher des lokalen Rechners bekommen. Das geht sehr einfach mit Hilfe der passenden Funktion aus dem (externen) `requests`-Modul.

Dann muss man die Namen aus dem HTML heraus bekommen. Dazu parst man den HTML-Quelltext in einem Objektbaum, welcher der Dokumentstruktur entspricht. Dazu verwendet man einen HTML-Parser wie `lxml.html` oder `html5lib` (beides externe Module). Als nächsten Schritt kann man sich aus diesem Objektbaum dann die passenden Knotenelemente heraussuchen welche die Namen enthalten. Dafür stellt die (externe) BeautifulSoup-Bibliothek Werkzeuge zur Verfügung die einem das deutlich vereinfachen. Man kann zum Beispiel (rekursiv) nach bestimmten Elementen mit bestimmten Eigenschaften suchen. Also Beispielsweise alle <div>-Elemente die eine bestimmte CSS-Klasse besitzen. Und dann in den Suchergebnissen beispielsweise die ungeordnete Liste (<ul>) und deren Elemente (<li>), und davon dann den Textinhalt.

Das `BeautifulSoup`-Objekt übernimmt es dabei auch beim erstellen aus dem HTML-Quelltext, einen Parser aufzurufen. Diesen Schritt muss man also nicht explizit selbst durchführen wenn man BeautifulSoup verwendet.

Re: Daten von Website runterladen

Verfasst: Dienstag 2. April 2019, 12:08
von charon82
vielen lieben Dank!
ich werd das gleich mal ausprobieren.