Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Sugestão] HTTPError: HTTP Error 403: Forbidden com páginas da Wikipédia

Olá, pessoal!

Recentemente, tentei carregar a página da Wikipédia com a lista de países por população usando:

import pandas as pd

paises_populacao_html = pd.read_html('https://pt.wikipedia.org/wiki/Lista_de_pa%C3%ADses_por_popula%C3%A7%C3%A3o')

E recebi o erro:

HTTPError: HTTP Error 403: Forbidden

Pesquisando descobri devido ao servidor bloquear requisições que não parecem vir de um navegador. Ou seja, o pandas não envia um User-Agent por padrão, e o site interpreta a requisição como suspeita.

Para contornar, existem duas estratégias:

Salvar a página e usar um link raw (como do GitHub):

paises_populacao_html = pd.read_html('https://raw.githubusercontent.com/YuriArduino/Estudos_Pandas/refs/heads/data-tests/Lista%20de%20pa%C3%ADses%20por%20popula%C3%A7%C3%A3o%20%E2%80%93%20Wikip%C3%A9dia.html')

Ou

Simular um navegador adicionando um User-Agent com requests:

import requests

url = "https://pt.wikipedia.org/wiki/Lista_de_pa%C3%ADses_por_popula%C3%A7%C3%A3o"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)

paises_populacao_html = pd.read_html(response.text)

Com essa segunda abordagem, o servidor entende que a requisição vem de um navegador real, e você consegue ler a tabela sem precisar salvar o HTML.

Espero que essa dica ajude quem encontrou o mesmo erro!

2 respostas
solução!

Ei, Yuri! Tudo bem?

Muito obrigada por compartilhar todo esse processo de erro e resolução, com certeza ajudará muitos(as) colegas da comunidade.

É muito legal te ver ativo, praticando as atividades. Continue nesse ritmo que você está se saindo muito bem!

E qualquer dúvida, compartilhe no fórum, estaremos por aqui.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi, Nathalia! Tudo ótimo, obrigado pela mensagem!
Fico feliz em poder compartilhar e ajudar outros colegas da comunidade.

Vou continuar praticando e postando minhas dúvidas e soluções.