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
Daten von Website runterladen
- __blackjack__
- User
- Beiträge: 14040
- 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.
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?
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?
Schaust du z.B. hier: https://www.youtube.com/watch?v=ng2o98k983k
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
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 14040
- 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.
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.