Dateien über HTTP mit Python herunterladen
Szenario: Sie verfügen über ein Python-Dienstprogramm, das MP3-Dateien von einer Website herunterlädt und aktualisiert eine Podcast-XML-Datei. Der MP3-Download wird derzeit von wget in einer Windows-.bat-Datei abgewickelt, Sie suchen jedoch nach einer vollständig Python-basierten Lösung.
Lösung:
Python bietet mehrere Methoden für Herunterladen von Dateien über HTTP innerhalb des Python-Ökosystems. Ein beliebter Ansatz ist die Verwendung des Moduls urllib.request. Das folgende Snippet zeigt, wie eine Datei mit urllib.request.urlretrieve() heruntergeladen wird:
import urllib.request url = "http://www.example.com/songs/mp3.mp3" filename = "mp3.mp3" urllib.request.urlretrieve(url, filename)
Dieser Code ruft die Datei von der angegebenen URL ab und speichert sie unter dem angegebenen Dateinamen. Beachten Sie, dass Sie für Python 2 import urllib und urllib.urlretrieve verwenden würden.
Alternativ können Sie die Requests-Bibliothek verwenden, die eine benutzerfreundlichere API bietet. Hier ist ein Beispiel:
import requests url = "http://www.example.com/songs/mp3.mp3" response = requests.get(url) response.raise_for_status() with open("mp3.mp3", "wb") as f: f.write(response.content)
Dieser Code stellt eine GET-Anfrage an die URL und ruft den Dateiinhalt ab. Anschließend wird der Inhalt im Binärmodus in den angegebenen Dateinamen geschrieben.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien über HTTP in Python herunterladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!