So laden Sie Bilder mithilfe von Anfragen effizient herunter
Beim Herunterladen von Bildern aus dem Web mithilfe des Anfragemoduls von Python ist es wichtig, die ordnungsgemäße Verwendung von zu verstehen Antwortelemente. In diesem Artikel geht es um die Frage, welches Attribut für das Herunterladen von Bildern verwendet werden soll.
Ein Ansatz besteht darin, auf das Dateiobjekt „response.raw“ zuzugreifen. Diese Methode ermöglicht den direkten Zugriff auf die Bilddaten, erfordert jedoch die Konfiguration des Attributs decode_content, um eine ordnungsgemäße Dekodierung komprimierter Antworten sicherzustellen. Anschließend können die Daten mit der Funktion „shutil.copyfileobj()“ in die gewünschte Datei gestreamt werden. Hier ist ein Beispiel:
import requests import shutil r = requests.get(settings.STATICMAP_URL.format(**data), stream=True) if r.status_code == 200: with open(path, 'wb') as f: r.raw.decode_content = True shutil.copyfileobj(r.raw, f)
Alternativ können Sie die Antwort iterieren, um die Datendekomprimierung sicherzustellen. Diese Methode garantiert, dass Daten in kleineren Blöcken verarbeitet werden.
import requests r = requests.get(settings.STATICMAP_URL.format(**data), stream=True) if r.status_code == 200: with open(path, 'wb') as f: for chunk in r: f.write(chunk)
Sie können die Blockgröße anpassen, indem Sie die Methode Response.iter_content() verwenden:
import requests r = requests.get(settings.STATICMAP_URL.format(**data), stream=True) if r.status_code == 200: with open(path, 'wb') as f: for chunk in r.iter_content(1024): f.write(chunk)
Denken Sie daran, das Ziel zu öffnen Datei im Binärmodus, um unerwartete Transformationen zu vermeiden. Darüber hinaus verhindert das Festlegen des Parameters stream=True, dass das gesamte Bild auf einmal in den Speicher heruntergeladen wird. Wenn Sie diese Richtlinien befolgen, können Sie Bilder mithilfe des Anforderungsmoduls von Python effizient herunterladen.
Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, Bilder mit dem Requests-Modul von Python herunterzuladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!