Heim > Backend-Entwicklung > Python-Tutorial > Was ist der effizienteste Weg, Bilder mit dem Requests-Modul von Python herunterzuladen?

Was ist der effizienteste Weg, Bilder mit dem Requests-Modul von Python herunterzuladen?

Barbara Streisand
Freigeben: 2024-12-16 02:21:13
Original
639 Leute haben es durchsucht

What's the Most Efficient Way to Download Images with Python's Requests Module?

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)  
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage