Télécharger l'image en Python

Muhammad Maisam Abbas 11 décembre 2023
  1. Télécharger une image en utilisant le paquet urllib en Python
  2. Télécharger l’image en utilisant la bibliothèque de requêtes en Python
Télécharger l'image en Python

Ce tutoriel présente quelques-unes des principales façons de télécharger une image sur Internet à l’aide de Python.

Télécharger une image en utilisant le paquet urllib en Python

Le paquet urllib est une collection de plusieurs modules pour travailler avec les URLs. urllib.request est un module utilisé pour ouvrir et lire le contenu des URLs. Pour ce tutoriel, nous utiliserons Python pour télécharger un fichier image à partir de https://www.python.org/images/success/nasa.jpg. Dans le module urllib.request, deux méthodes peuvent être utilisées pour télécharger une image, qui seront expliquées ci-dessous.

Télécharger une image en utilisant la méthode urllib.request.urlretrieve(url, nom de fichier)

L’exemple de code suivant montre comment nous pouvons télécharger une image en Python en utilisant la méthode urlretrieve(url, filename).

import urllib.request

urllib.request.urlretrieve("https://www.python.org/images/success/nasa.jpg", "NASA.jpg")

print("download successful")

Production :

download successful

Le code ci-dessus télécharge l’image dans le répertoire de travail courant. La méthode urlretrieve(url, filename) prend en argument l’URL de l’image et le nom du fichier que vous voulez stocker. La méthode urlretrieve(url, filename) est listée sous l’interface de la documentation officielle, ce qui signifie que la méthode urlretrieve(url, filename) sera obsolète à l’avenir.

Télécharger l’image en utilisant urllib.request.urlopen(url)

Pour surmonter l’inévitable dépréciation de la méthode urlretrieve(url, nom de fichier), la méthode urlopen(url) peut être utilisée avec la manipulation de fichiers. Selon la documentation officielle de Python, la méthode urlopen(url) est utilisée pour ouvrir n’importe quelle URL.

L’exemple de code suivant montre comment nous pouvons télécharger une image en utilisant la méthode urlopen(url) avec gestion de fichier.

import urllib.request

f = open("NASA2.jpg", "wb")
f.write(urllib.request.urlopen("https://www.python.org/images/success/nasa.jpg").read())
f.close()
print("download successful")

Production :

download successful

Dans le code ci-dessus, nous ouvrons d’abord un fichier nommé NASA2.jpg en mode écrire des binaires en utilisant la méthode open(filename, mode). Dans la ligne suivante, nous écrivons le contenu lu à partir de l’URL dans le fichier en utilisant la méthode write(). Ensuite, nous fermons le fichier en utilisant la méthode close().

Télécharger l’image en utilisant la bibliothèque de requêtes en Python

La requests est une bibliothèque Python que nous pouvons utiliser pour envoyer des requêtes HTTP/1.1 au serveur. Nous pouvons envoyer une requête GET à l’URL en utilisant la méthode get(url) de la bibliothèque requests pour obtenir le fichier image à partir de l’URL et ensuite l’enregistrer en utilisant le traitement de fichier.

L’exemple de code suivant montre comment télécharger une image à l’aide de la bibliothèque requests avec gestion de fichiers.

import requests

f = open("NASA3.jpg", "wb")
response = requests.get("https://www.python.org/images/success/nasa.jpg")
f.write(response.content)
f.close()

print("download successful")

Production :

download successful

Dans le code ci-dessus, nous ouvrons d’abord un fichier nommé NASA3.jpg en mode write binaries en utilisant la méthode open(filename, mode).

Dans la ligne suivante, nous stockons la réponse de notre requête GET dans la variable - response.

Après cela, nous écrivons le contenu binaire de la response dans le fichier en utilisant la méthode write().

Enfin, nous fermons le fichier en utilisant la méthode close().

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Python Image