Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Falha na tentativa de fazer Web Scraping (Python)

Boa noite,

Estou tentando fazer Web Scraping para praticar o que aprendi num curso aqui da Alura e para fazer uma análise dos dados desse catálogo de selos online, mas estou com dificuldades. Estou usando o seguinte código:

from urllib.request import urlopen, Request
from urllib.error import HTTPError, URLError
from bs4 import BeautifulSoup

url = "https://colnect.com/en/stamps/countries/theme/3028-Animals_Fauna#1;"

headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"}

try:

  request = Request(url, headers=headers)

  response = urlopen(request)

  html = response.read()

  print(html)

except HTTPError as e:
  print(e.status, e.reason)

except URLError as e:
  print(e.reason)

Estou recebendo um erro "403 Bad Behavior". Pelo que entendi, a conexão está sendo encerrada remotamente. O site está bloqueando meu aos acesso aos dados? Ou fiz algo de errado no código? Se for o site bloqueando, tem como eu contornar esse problema de uma maneira simples/lícita, já que só queria analisar esses dados para um trabalho acadêmico?

Grato desde já, Abner

1 resposta
solução!

Oii Abner, como você está?

Peço desculpas pela demora em obter um retorno.

Neste outro tópico expliquei sobre o motivo do erro 403, que se refere a acesso não autorizado de conteúdo e também indiquei uma solução através de uma biblioteca mais robusta, que é o Selenium. A BeautifulSoup que você está utilizando é apenas um analisador de HTML, ela não tem os recursos que o Selenium oferece, que se refere a simular as mãos humanas, efetuando cliques, digitando algo, dentre outros. Tente através do exemplo que está no tópico recomendado aplicar no seu caso de uso.

Qualquer dúvida fico à disposição para ajudá-lo.

Grande abraço e bons estudos!