C:\pythonapigenaiprojeto\Nova pasta>wget --mirror ...
Criado em: 10 de fevereiro de 2025
Criado em: 10 de fevereiro de 2025
C:\pythonapigenaiprojeto\Nova pasta>wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://oldschool.runescape.wiki/
--2025-02-10 16:50:21-- https://oldschool.runescape.wiki/
Resolving oldschool.runescape.wiki (oldschool.runescape.wiki)... 2606:4700:10::6816:3dd2, 2606:4700:10::ac43:d98, 2606:4700:10::6816:3cd2, ...
Connecting to oldschool.runescape.wiki (oldschool.runescape.wiki)|2606:4700:10::6816:3dd2|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2025-02-10 16:50:21 ERROR 403: Forbidden.
Converted links in 0 files in 0 seconds.
C:\pythonapigenaiprojeto\Nova pasta> qual a solução definitiva pra isso?
Infelizmente, não há uma “solução definitiva” que funcione sempre para contornar erros 403 em sites que bloqueiam ou restringem ferramentas de download como o wget
. Isso acontece porque muitos sites (especialmente os que usam Cloudflare ou outros serviços de proteção) ativamente impedem esse tipo de acesso automatizado, seja por configuração de firewall, regras anti-bot, ou bloqueio de determinados cabeçalhos (user-agent) associados ao wget
.
No entanto, há algumas estratégias comuns que você pode tentar – sem garantia de sucesso, pois tudo depende das regras do servidor:
Muitos bloqueios ocorrem porque o site detecta o user-agent padrão do wget
. Tentar emular um navegador real às vezes ajuda:
bashwget \ --mirror \ --convert-links \ --adjust-extension \ --page-requisites \ --no-parent \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/XX.X.XXXX.X Safari/537.36" \ https://oldschool.runescape.wiki/
Você também pode tentar outros user-agents diferentes. Veja se isso por si só já contorna o 403.
Mesmo que o site não tenha bloqueio de IP ou de user-agent, o wget
normalmente segue as instruções em robots.txt
. Se quiser ignorá-las (o que costuma ser uma prática delicada em termos de ética e termos de serviço), use:
bashwget \ -e robots=off \ --mirror \ --convert-links \ --adjust-extension \ --page-requisites \ --no-parent \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \ https://oldschool.runescape.wiki/
Alguns sites exigem cookies ou headers específicos para liberar o acesso. Se você notar que o site precisa de autenticação ou de um cookie especial (por exemplo, Cloudflare __cfduid), é possível passá-lo ao wget
:
bashwget \ --header "Cookie: cf_clearance=algum_valor;" \ --header "Accept-Language: pt-BR,pt;q=0.9" \ ...
Mas obter esses cookies normalmente exige navegar no site via um navegador real, pegar as informações e depois passá-las ao wget
.
wget
.Por fim, às vezes o site simplesmente não quer permitir espelhamento, e isso fica claro nos termos de uso, no robots.txt ou na própria configuração do servidor. Se estiver usando para fins puramente pessoais/educacionais, é bom verificar se não há violação de termos. Porém, se eles realmente bloqueiam e você não tem autorização expressa, não há muito a ser feito em termos “oficiais”.
Portanto, a “solução definitiva” não existe de forma universal; depende do quanto o site está protegendo o conteúdo e de quais mecanismos você está disposto a usar (e se é permitido).
faça um passo a passo para essas opções > 1. Alterar o user-agent
Muitos bloqueios ocorrem porque o site detecta o user-agent padrão do wget. Tentar emular um navegador real às vezes ajuda:
wget
--mirror
--convert-links
--adjust-extension
--page-requisites
--no-parent
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/XX.X.XXXX.X Safari/537.36"
https://oldschool.runescape.wiki/
Você também pode tentar outros user-agents diferentes. Veja se isso por si só já contorna o 403.
wget
-e robots=off
--mirror
--convert-links
--adjust-extension
--page-requisites
--no-parent
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
https://oldschool.runescape.wiki/
wget
--header "Cookie: cf_clearance=algum_valor;"
--header "Accept-Language: pt-BR,pt;q=0.9"
...
Mas obter esses cookies normalmente exige navegar no site via um navegador real, pegar as informações e depois passá-las ao wget.
A seguir está um guia passo a passo para tentar contornar o erro 403 Forbidden usando as três estratégias listadas (lembrando que não há garantia de sucesso caso o servidor bloqueie ativamente essas tentativas).
Abra o Prompt de Comando (Windows) ou Terminal (Linux/Mac).
Você já deve estar com o wget
instalado e configurado corretamente no sistema.
Verifique o user-agent atual do wget
.
para confirmar que obashwget --version
wget
está instalado.wget
geralmente aparece em algo como Wget/1.20.3 (linux-gnu)
ou similar.Escolha um user-agent de um navegador real.
textMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Execute o wget
com o user-agent personalizado.
bashwget --mirror \ --convert-links \ --adjust-extension \ --page-requisites \ --no-parent \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" \ https://oldschool.runescape.wiki/
Teste para ver se obtém sucesso.
robots.txt
Alguns sites configuram o arquivo robots.txt
para impedir indexadores (como wget
) de baixar certos diretórios. Por padrão, o wget
respeita as regras de robots.txt
. Se o bloqueio estiver vindo dessa restrição (em vez de um bloqueio do servidor por IP/user-agent), desativar a leitura do robots.txt
pode ajudar.
Abra o Prompt de Comando (ou Terminal) novamente.
Use a opção -e robots=off
.
-e robots=off
instrui o wget
a ignorar o robots.txt
.Combine com a troca de user-agent para aumentar a chance de sucesso.
bashwget -e robots=off \ --mirror \ --convert-links \ --adjust-extension \ --page-requisites \ --no-parent \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \ https://oldschool.runescape.wiki/
Verifique o resultado.
robots.txt
. Pode ser um bloqueio mais avançado (Cloudflare, firewall, etc.).Reflita sobre questões legais/éticas.
robots.txt
. Em muitos casos, as condições de uso do site podem proibir explicitamente a cópia automatizada.Alguns sites exigem autenticação ou passam por um sistema de verificação (como o Cloudflare) que pode definir cookies de sessão ou de verificação no seu navegador. Se você tenta acessar com o wget
sem esses cookies, pode levar ao erro 403.
Descubra quais cookies são necessários.
oldschool.runescape.wiki/
).cf_clearance
ou outro que pareça estar associado ao Cloudflare ou a algum sistema de proteção.Copie o valor do cookie.
cf_clearance=123abcXYZ...;
Passe o cookie como parâmetro ao wget
usando --header "Cookie: ..."
.
bashwget \ --header "Cookie: cf_clearance=123abcXYZ; outra_chave=valor;" \ --header "Accept-Language: pt-BR,pt;q=0.9" \ --mirror \ --convert-links \ --adjust-extension \ --page-requisites \ --no-parent \ --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \ https://oldschool.runescape.wiki/
Teste e verifique se agora o 403 desaparece.
Tente adicionar outros cabeçalhos que o navegador normalmente envia.
Accept: text/html,application/xhtml+xml
, ou Accept-Encoding: gzip, deflate, br
, etc.wget
ou similares.No geral, esses procedimentos cobrem as etapas mais comuns para “driblar” um bloqueio simples. Se o bloqueio for mais rigoroso, pode ser necessário partir para ferramentas de automação de navegador ou, infelizmente, não será possível fazer o download completo.