Baixar imagem em Python

  1. Baixe a imagem usando o pacote urllib em Python
  2. Baixar imagem usando a biblioteca requests em Python

Este tutorial discutirá algumas das maneiras mais importantes de baixar uma imagem da Internet usando Python.

Baixe a imagem usando o pacote urllib em Python

O pacote urllib é uma coleção de vários módulos para trabalhar com URLs. urllib.request é um módulo usado para abrir e ler conteúdo em URLs. Para este tutorial, usaremos Python para baixar um arquivo de imagem em http://www.python.org/images/success/nasa.jpg. No módulo urllib.request, dois métodos podem ser usados ​​para fazer o download de uma imagem, os quais serão explicados a seguir.

Baixar imagem usando o método urllib.request.urlretrieve (url, nome do arquivo)

O exemplo de código a seguir mostra como podemos baixar uma imagem em Python usando o método urlretrieve (url, nome do arquivo).

import urllib.request

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

print("download successful")

Resultado:

download successful

O código acima baixa a imagem para o diretório de trabalho atual. O método urlretrieve(url, filename) pega o URL da imagem e o nome do arquivo que você deseja armazenar como argumentos. O método urlretrieve(url, filename) está listado na interface legada da documentação oficial, o que significa que o método urlretrieve(url, filename) será obsoleto no futuro.

Baixar imagem usando urllib.request.urlopen(url)

Para superar a inevitável depreciação do método urlretrieve(url, filename), o método urlopen(url) pode ser usado com o manuseio de arquivos. De acordo com a documentação oficial do Python, o método urlopen(url) é usado para abrir qualquer URL.

O exemplo de código a seguir mostra como podemos baixar uma imagem usando o método urlopen(url) com manipulação de arquivo.

import urllib.request

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

Resultado:

download successful

No código acima, primeiro abrimos um arquivo chamado NASA2.jpg no modo escrever binários usando o método open(filename, mode). Na próxima linha, escrevemos o conteúdo lido da URL no arquivo usando o método write(). Depois disso, fechamos o arquivo usando o método close().

Baixar imagem usando a biblioteca requests em Python

A requests é uma biblioteca Python que podemos usar para enviar requisições HTTP/1.1 para o servidor. Podemos enviar uma solicitação GET para a URL usando o método get(url) na biblioteca Solicitações para obter o arquivo de imagem da URL e salvá-lo usando o manuseio de arquivo.

O exemplo de código a seguir mostra como podemos baixar uma imagem usando a biblioteca requests com manipulação de arquivos.

import requests

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

print("download successful")

Resultado:

download successful

No código acima, primeiro abrimos um arquivo chamado NASA3.jpg no modo escrever binários usando o método open(filename, mode).

Na próxima linha, armazenamos a resposta de nossa solicitação GET na variável - response.

Depois disso, escrevemos o conteúdo binário da response no arquivo usando o método write().

Finalmente, fechamos o arquivo usando o método close().

Artigo relacionado - Python Image

  • Converter imagem em tons de cinza em Python