Duplicate possible:
Comment télécharger une image à l'aide de requêtes
Je sais que chercher une URL est aussi simple que requests.get
et je peux obtenir le corps de la réponse brute et l'enregistrer dans un fichier, mais pour les fichiers volumineux, existe-t-il un moyen de diffuser directement dans un fichier? Par exemple, si je télécharge un film avec ou autre chose?
Curieusement, les demandes n'ont rien de simple pour cela. Vous devrez parcourir la réponse et écrire ces morceaux dans un fichier:
response = requests.get('http://www.example.com/image.jpg', stream=True)
# Throw an error for bad status codes
response.raise_for_status()
with open('output.jpg', 'wb') as handle:
for block in response.iter_content(1024):
handle.write(block)
Je n'utilise généralement que urllib.urlretrieve()
. Cela fonctionne, mais si vous devez utiliser une session ou une sorte d'authentification, le code ci-dessus fonctionne également.