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

Obtendo [WinError 10061] ao invés de HTTPError 403: Forbidden

Olá! Naquele ponto da aula onde o instrutor faz o request na página https://www.alura.com.br sem colocar os headers e obtém, lá no fim do resultado, o erro "HTTPERROR 403: Forbidden", no meu aparece o seguinte:

URLError: <urlopen error [WinError 10061] Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente>

Fui até o fim do vídeo para ver se conseguiria resolver o problema mais para a frente, mas não. Ao final, após colocar as instruções de try/except, o erro permanecia o mesmo. Meu código ficou assim:

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

url = 'https://www.alura.com.br'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0'}

try:
    req = Request(url, headers = headers)
    response = urlopen(req)
    print(response.read())

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

except URLError as e:
    print(e.reason)

Alguma ideia do que pode ser?

1 resposta
solução!

Oii Fernando, tudo tranquilo?

Peço desculpas pela demora em dar um retorno.

Esse erro pode estar acontecendo por diversos motivos, mas vamos testar algumas abordagens para tentar resolvê-lo.

Primeiramente vou te pedir que confira se seu notebook não possui algum antivírus (Avast, McAfee). Caso tenha, é interessante que você desative esse antivírus e tente realizar o scraping novamente, pois pode ser que seu antivírus esteja bloqueando seu acesso ao site em questão.

Caso não seja essa a fonte do problema, verifique se você está utilizando uma rede corporativa através de proxy. Os servidores proxy são utilizados como ponte entre origem e destino de uma requisição. Normalmente, eles possuem as funções de controle de acesso, permitindo que alguns usuários possam ou não usar a internet através de restrições, e também de filtro de conteúdo, determinando alguns sites que podem e outros que não podem ser acessados.

Se estiver utilizando uma rede dessa, tente se conectar a outra e realizar o scraping novamente para ver se irá funcionar.

De todo modo, para que você possa dar prosseguimento aos seus estudos, recomendo que você também tente realizar esse web scraping utilizando um notebook do Google Colab. O Colab é bem semelhante ao Jupyter Notebook, a diferença é que ele não roda localmente, mas em uma máquina virtual do Google e por esse motivo talvez esse erro não seja gerado ao utilizá-lo. Vou deixar aqui um artigo que fala sobre o Google Colab e um vídeo que ensina como subir arquivos para esse notebook:

Espero que isso ajude. Qualquer dúvida estou à disposição :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!