Como usar a biblioteca "requests" do Python?
Tenho feito muitas coisas usando a biblioteca requests
do python(crawlers, scrapper e até conexão com APIs por exemplo), mas apesar de ser algo simples e só precisar chamar um requests.get()
sei que muitas pessoas ainda não sabem usar o básico dessa biblioteca.
Pra quem não conhece, a biblioteca requests
em Python é uma das bibliotecas mais populares e amplamente utilizadas para realizar requisições HTTP em Python.
Pra quem não conhece, uma requisição HTTP (Hypertext Transfer Protocol) é um pedido enviado pelo cliente (seu computador por exemplo) ao servidor (computador onde está armazenado o site) para obter informações ou recursos.
O caio, fez um post bem mais detalhado sobre o fluxo de transferência de informações: https://www.tabnews.com.br/caio/como-exatamente-funciona-a-internet-e-como-esse-post-chegou-ate-voce-conteudo-tecnico-mastigado
Aqui está como funciona uma requisição com requests em Python:
-
Instale a biblioteca requests se ainda não tiver feito isso. Você pode fazer isso executando o comando pip install requests no terminal ou prompt de comando.
-
Importe a biblioteca requests no seu código Python:
import requests
- Depois disso, é só realizar a requisição HTTP usando um dos métodos fornecidos pela própria biblioteca
requests
, comoget
,post
,put
,delete
, entre outros. Por exemplo, para realizar uma requisição GET a uma URL específica:
response = requests.get('https://www.example.com/api/data')
- Depois disso, você pode verificar o status da resposta da requisição para garantir que tenha sido bem-sucedida. Um código de status HTTP 200 indica que a requisição foi bem-sucedida:
if response.status_code == 200:
print('Successful request!')
else:
print('Request failed.')
- Por fim, é possível acessar os dados da resposta da requisição usando o atributo
text
da resposta:
data = response.text
Nota: Como estamos utilizando o método get
temos que o conteúdo de response.text
vai ser, na maiorida dos casos uma estrutura HTML (se você tiver passado uma URL de uma página web) ou um JSON (se você tiver passado uma API).