Webseiten herunterladen mit requests#
Mit der Python-Bibliothek requests können Dateien oder Webseiten ganz einfach heruntergeladen werden. Sie ist nicht standardmäßig in Python integriert und muss daher gegebenenfalls, je nachdem in welcher Form Sie Python nutzen, heruntergeladen werden. Um zu testen, ob Sie die requests-Bibliothek bereits installiert haben, können Sie den import-Befehl ausführen:
import requests
Wir wollen nun zunächst eine Website herunterladen. Dazu nutzen wir die get-Funktion von requests und übergeben ihr eine URL als Zeichenkette. In diesem Fall wollen wir die Startseite der Digital History Professur herunterladen.
Für die Anfrage und den Download benötigen Sie lediglich eine Zeile Code, anschließend prüfen wir den von requests.get() zurückgelieferten Datentyp.
response = requests.get('https://www.geschichte.hu-berlin.de/de/bereiche-und-lehrstuehle/digital-history')
type(response)
Die get-Funktion liefert ein sogenanntes Response-Objekt zurück, das im Prinzip eine Repräsentation der angefragten Ressource darstellt.
Ob ein Download erfolgreich war, können Sie über die Abfrage des Statuscodes prüfen. Der Code “200” signalisiert, dass der Download erfolgreich war. Codes, die mit einer 4 oder einer 3 beginnen, deuten hingegen darauf hin, dass Fehler aufgetreten sind.
response.status_code
Wenn der Download erfolgreich war, dann wird die Webseite als Zeichenkette im Response-Objekt gespeichert und kann über die text-Funktion abgerufen werden:
response.text
Man kann dann z.B. auch den Zeichensatz prüfen:
response.encoding
Erwartet man andere Daten als Text, verwendet man .content, dann wird das Response-Objekt im binären Format wiedergegeben:
response.content
Sie können noch viele weitere Dinge mit der requests-Bibliothek anstellen. Arbeiten Sie sich bei Bedarf einfach durch die Dokumentation.