Daten von Website runterladen

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
charon82
User
Beiträge: 5
Registriert: Dienstag 26. März 2019, 00:21

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
Benutzeravatar
__blackjack__
User
Beiträge: 14042
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
charon82
User
Beiträge: 5
Registriert: Dienstag 26. März 2019, 00:21

hmm.. ich versteh nur bahnhof :(
charon82
User
Beiträge: 5
Registriert: Dienstag 26. März 2019, 00:21

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?
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 14042
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
charon82
User
Beiträge: 5
Registriert: Dienstag 26. März 2019, 00:21

vielen lieben Dank!
ich werd das gleich mal ausprobieren.
Antworten