Introducción
Hoy veremos cómo descargar una imagen de una URL utilizando Python. Dependiendo de dicha url crearemos un archivo en nuestro disco duro. En pocas palabras, descargaremos la imagen.
Requisitos
Necesitamos instalar requests utilizando pip. Si no lo tienes, aquí dejo un tutorial.
Instalar requests
Una vez que hayamos instalado Python, ejecutamos el siguiente comando:
pip install requests
Con ello habremos instalado la dependencia, una vez hecho esto, lo demás será más fácil.
Descargar imagen jpg con Python
En este caso descargaremos esta imagen: https://golang.org/doc/gopher/appenginegophercolor.jpg
La guardaremos con el nombre “go.jpg”. Nuestro código fuente de ejemplo se ve como a continuación:
import requests
url_imagen = "https://golang.org/doc/gopher/appenginegophercolor.jpg" # El link de la imagen
nombre_local_imagen = "go.jpg" # El nombre con el que queremos guardarla
imagen = requests.get(url_imagen).content
with open(nombre_local_imagen, 'wb') as handler:
handler.write(imagen)
Cuando ejecutemos nuestro programa, no aparecerá nada en la consola, pero sí en el directorio en donde lo hayamos ejecutado:
Descargar PNG con Python
Igualmente podemos descargar una imagen en formato PNG. Para ello, sólo cambiamos el archivo de salida y obviamente la url. Quedando así:
import requests
url_imagen = "https://blog.golang.org/gopher/gopher.png" # El link de la imagen
nombre_local_imagen = "go.png" # El nombre con el que queremos guardarla
imagen = requests.get(url_imagen).content
with open(nombre_local_imagen, 'wb') as handler:
handler.write(imagen)
Descargar GIF con python
Curioso pero cierto. También podemos descargar una imagen GIF utilizando Python.
import requests
url_imagen = "https://gophercises.com/img/gophercises_punching.gif" # El link de la imagen
nombre_local_imagen = "go.gif" # El nombre con el que queremos guardarla
imagen = requests.get(url_imagen).content
with open(nombre_local_imagen, 'wb') as handler:
handler.write(imagen)
Conclusión
Ya vimos lo fácil que es descargar imágenes de una url con Python. Podemos llamarlas en un ciclo, indexar un sitio web, etcétera.