Como baixar arquivos em Python

O Python fornece várias maneiras de baixar arquivos da Internet. Isso pode ser feito por HTTP usando o pacote urllib ou a biblioteca request. Este tutorial discutirá como usar essas bibliotecas para baixar arquivos de URLs usando Python.

Biblioteca de solicitações

A biblioteca request é uma das bibliotecas mais populares do Python. As solicitações permitem que você envie solicitações HTTP/1.1 sem a necessidade de adicionar strings de consulta manualmente às suas URLs ou codificar seus dados POST manualmente.

Com a biblioteca de solicitações, você pode executar várias funções, incluindo:

  • adicionando dados de formulário,
  • adicionando arquivos multipartes,
  • e acessando os dados de resposta do Python

Fazendo pedidos

O primeiro que você precisa fazer é instalar a biblioteca e é tão simples quanto:

Para testar se a instalação foi bem-sucedida, você pode fazer um teste bem fácil em seu interpretador Python simplesmente digitando:

Se a instalação for bem-sucedida, não haverá erros.

As solicitações HTTP incluem:

  • PEGUE
  • PUBLICAR
  • POR
  • EXCLUIR
  • OPÇÕES
  • CABEÇA

Fazendo uma solicitação GET

Fazer solicitações é muito fácil, conforme ilustrado abaixo.

1
import requests
2
req = requests.get(https://www.google.com)

O comando acima obterá a página da web do Google e armazenará as informações noreq variável. Podemos então obter outros atributos também.

Por exemplo, para saber se a busca da página da web do Google foi bem-sucedida, consultaremos o status_code.

1
import requests
2
req = requests.get(https://www.google.com") 

3
req.status_code 

4
200 

5


6
# 200 means a successful request

E se quisermos descobrir o tipo de codificação da página da web do Google?

1
req.encoding
2
ISO-88591

Você também pode querer saber o conteúdo da resposta.

Este é apenas um conteúdo truncado da resposta.

1
'
2
">
3
es, videos and more. Google has many special features to help you find exactly w
4
hat you're looking for." name="description">" name="robots" 

5
>; charset=UTF-8" http-equiv="Content-Type">
6
t="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image
7
">Google