Maison >développement back-end >Tutoriel Python >Quel est le moyen le plus efficace de télécharger des images avec le module de requêtes de Python ?
Comment télécharger des images efficacement à l'aide de requêtes
Lors du téléchargement d'images à partir du Web à l'aide du module de requêtes de Python, il est important de comprendre l'utilisation appropriée de éléments de réponse. Cet article aborde la question de savoir quel attribut utiliser pour les téléchargements d'images.
Une approche consiste à accéder à l'objet fichier réponse.raw. Cette méthode permet un accès direct aux données d'image, mais elle nécessite la configuration de l'attribut decode_content pour garantir un décodage correct des réponses compressées. Par la suite, la fonction shutdown.copyfileobj() peut être utilisée pour diffuser les données vers le fichier souhaité. Voici un exemple :
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)
Vous pouvez également parcourir la réponse pour garantir la décompression des données. Cette méthode garantit que les données sont traitées en morceaux plus petits.
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)
Vous pouvez personnaliser la taille du morceau en utilisant la méthode Response.iter_content() :
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)
N'oubliez pas d'ouvrir la destination. fichier en mode binaire pour éviter toute transformation inattendue. De plus, la définition du paramètre stream=True empêche le téléchargement simultané de l’image entière en mémoire. En suivant ces directives, vous pouvez télécharger des images efficacement à l'aide du module de requêtes de Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!