Guia completo do wget: instalar, usar e resolver "wget: command not found"

O que é wget e para que serve
Wget é um utilitário de linha de comando para baixar arquivos da web sem interface gráfica. Ele suporta HTTP, HTTPS e FTP e é útil para:
- Baixar arquivos simples (como um PDF ou robots.txt).
- Fazer downloads recursivos para criar uma cópia local de páginas e ativos.
- Recriar um site para testes off-line (mirror).
- Automatizar transferências em scripts e CRON.
Definição em uma linha: wget é um cliente HTTP/FTP em modo texto para baixar e espelhar conteúdo web.
Important: usar wget para espelhar sites pode gerar carga no servidor. Sempre respeite robots.txt e limite a taxa de download.
Variantes de intenção (para SEO)
- Guia wget no Windows
- Solução wget command not found
- Instalar wget no macOS
- Exemplos de comandos wget
- Alternativas ao wget (curl, PowerShell)
Como verificar se o wget está instalado
- Abra o Prompt de Comando (Windows) ou Terminal (macOS/Linux).
- Execute:
wget -V
Se estiver instalado, o comando retornará a versão do wget e informações de compilação. Se aparecer “wget: command not found” (ou similar), siga as instruções abaixo.
Instalação no Windows: métodos recomendados
Existem três métodos limpos para ter wget no Windows. Recomendo Chocolatey ou Scoop para facilidade de manutenção; a cópia manual do executável funciona, mas exige cuidado com PATH.
Opção A — Chocolatey (recomendado para administradores e desenvolvedores):
- Abra PowerShell como Administrador.
- Instale Chocolatey (se ainda não tiver):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = 'Tls12'; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- Instale wget:
choco install wget -y
Opção B — Scoop (bom para usuários que preferem instalar em diretório de usuário):
- Abra PowerShell (não precisa de admin para instalação no diretório do usuário).
- Instale Scoop:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser; iwr -useb get.scoop.sh | iex
- Instale wget:
scoop install wget
Opção C — Instalação manual (cópia do executável):
- Baixe um build do wget para Windows (por exemplo de repositórios confiáveis como GnuWin32 ou builds oficiais binários).
- Copie o executável wget.exe para C:\Windows\System32 ou para uma pasta qualquer.
- Se colocou em uma pasta fora de System32, adicione essa pasta à variável de ambiente PATH:
- Menu Iniciar → Pesquisar “Editar variáveis de ambiente” → Variáveis de Ambiente → selecione PATH → Editar → Novo → cole o caminho da pasta.
- Abra um novo Prompt de Comando e execute
wget -V
.
Nota: colocar binários em System32 requer privilégio de administrador e não é a prática mais elegante. Prefira Chocolatey/Scoop.
Instalação no macOS
Opção A — Homebrew (mais comum):
- Instale Homebrew (se precisar):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Instale wget:
brew install wget
Opção B — MacPorts:
sudo port install wget
Verificação:
wget -V
Instalação em distribuições Linux
Debian/Ubuntu:
sudo apt update
sudo apt install wget
Fedora/CentOS/RHEL:
sudo dnf install wget
# ou em sistemas mais antigos: sudo yum install wget
Solucionando “wget: command not found” no Windows (detalhado)
Causa comum: o executável não está instalado ou não está no PATH. Proceda assim:
- Confirme que o arquivo wget.exe existe onde você instalou.
- Abra PowerShell e rode
where.exe wget
— se retornar caminho, o executável está detectado. - Se
where
não achar, adicione a pasta ao PATH (veja instruções acima) e abra uma nova janela do Prompt de Comando. - Cheque permissões: certifique-se que o arquivo é executável e não está bloqueado pelo Windows Defender ou políticas de grupo.
- Alternativa imediata: use o binário em WSL (Windows Subsystem for Linux) se estiver instalado.
Uso básico e sintaxe
Sintaxe geral:
wget [OPÇÃO]... [URL]...
- [OPÇÃO] define o comportamento (por exemplo -O para renomear, -r para recursivo).
- [URL] é o endereço que você quer baixar.
Exemplos rápidos:
Baixar um arquivo simples:
wget https://example.com/robots.txt
Baixar para um diretório específico (-P):
wget -P /caminho/para/pasta https://example.com/sitemap.xml
Renomear o arquivo baixado (-O):
wget -O meu-arquivo.html https://example.com/file.html
Definir User-Agent:
wget --user-agent='Chrome' https://example.com/file.html
Emular um Googlebot (use com responsabilidade):
wget --user-agent='Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' https://example.com/path
Obter robots.txt com cabeçalhos (-S) e só atualizar quando muda (-N):
wget -S https://example.com/robots.txt
wget -N https://example.com/robots.txt
Converter links para uso local:
wget --convert-links https://example.com/path
Espelhar uma única página para rodar localmente:
wget -E -H -k -K -p --convert-links https://example.com/path
Baixar URLs listadas em um arquivo (urls.txt):
# urls.txt contém uma URL por linha
wget -i urls.txt
Limitar velocidade e inserir espera entre requisições:
wget --wait=1 --limit-rate=10K https://example.com/arquivo
Explicação rápida das opções comuns:
- –recursive (-r): baixar recursivamente seguindo links.
- –page-requisites (-p): baixar os recursos que a página precisa (CSS, imagens, JS).
- –adjust-extension (-E): ajustar extensões para .html quando necessário.
- –span-hosts: seguir links para outros hosts quando necessário.
- –wait=SEGS: esperar SEGS segundos entre requisições.
- –limit-rate=VEL: limitar taxa de download (ex.: 10K, 200M).
- –convert-links: converter links para versões locais.
- –restrict-file-names=windows: adaptar nomes para compatibilidade no Windows.
- –no-clobber: não sobrescrever arquivos existentes.
- –domains=lista: limitar a lista de domínios permitidos.
- –no-parent: não subir para diretórios pais.
Comandos avançados e boas práticas
Resumindo como agir com downloads maiores e espelhamento:
- Sempre respeite robots.txt e a política do site. Consulte o administrador se tiver dúvidas.
- Use –wait e –limit-rate para reduzir impacto no servidor.
- Teste com –spider primeiro (modo simulação) antes de baixar tudo:
wget --spider -r https://example.com
- Prefira baixar apenas os diretórios que você tem permissão.
- Use –mirror (atalho para -r -N -l inf –no-remove-listing) com cuidado.
Exemplo seguro de espelhamento com limites:
wget --recursive --page-requisites --adjust-extension --span-hosts --wait=2 --limit-rate=50K --convert-links --restrict-file-names=windows --no-clobber --domains example.com --no-parent https://example.com
Isso pede 2 segundos entre requisições e limita a 50 KB/s para reduzir carga.
Arquivo de configuração ( ~/.wgetrc )
Você pode criar ~/.wgetrc (Unix/macOS) com opções padrão para o wget, por exemplo:
# ~/.wgetrc
wait = 1
random_wait = on
limit_rate = 50k
user_agent = Mozilla/5.0 (compatible; MyDownloader/1.0)
No Windows, você pode usar _wgetrc no diretório de instalação ou em %USERPROFILE%.
Alternativas e quando usar cada uma
- curl: ideal para transferências simples, scripts REST e quando você precisa de mais controle sobre cabeçalhos e corpo. curl tem uma sintaxe diferente; prefira curl para upload e APIs.
- PowerShell Invoke-WebRequest/Invoke-RestMethod: boa opção nativa no Windows para downloads e integração com scripts PowerShell.
- WSL (Windows Subsystem for Linux): se você precisa de um ambiente Linux completo, instale o wget dentro do WSL (Ubuntu/Alpine/etc.).
Quando wget falha ou não é indicado:
- Para chamadas REST complexas ou uploads multipart use curl.
- Para automação em PowerShell use Invoke-WebRequest para melhor integração com objetos .NET.
Mini playbook: espelhar um site de forma responsável
- Verifique permissões e política do site (robots.txt, termos de uso).
- Faça um teste com –spider para ver o que seria baixado.
- Aplique limites (–wait, –limit-rate).
- Execute com opções de log para revisar o que foi baixado.
- Mantenha backups e não compartilhe conteúdo protegido sem autorização.
Exemplo de comando final:
wget --mirror --page-requisites --adjust-extension --convert-links --wait=2 --limit-rate=50K --domains example.com --no-parent -E -H -k -K https://example.com
Checklist por função
Desenvolvedor:
- Verificar versão do wget.
- Testar –spider antes do download.
- Usar –no-clobber para evitar sobrescrita.
Sysadmin:
- Usar Chocolatey/Scoop para manter o wget atualizado.
- Bloquear downloads indesejados por política de rede quando necessário.
SEO / Auditoria:
- Baixar apenas páginas públicas e respeitar robots.
- Usar –user-agent apropriado e documentar atividade de crawling.
Testes e critérios de aceitação
- Comando
wget -V
deve retornar a versão instalada. wget --spider -r https://example.com
deve terminar sem erro e listar URLs.- Ao usar
wget -O arquivo.html https://example.com/page
,arquivo.html
deve existir e conter HTML válido. - Com
wget -N robots.txt
o arquivo só é substituído quando a versão remota é mais nova.
Segurança e privacidade
- Não use user-agents falsos para mascarar identidade em situações onde isso viole políticas.
- Evite baixar conteúdo protegido sem autorização.
- Proteja credenciais (se usar FTP/HTTP auth, prefira métodos seguros e variáveis de ambiente).
Comandos úteis de recuperação e retomada
Retomar download interrompido:
wget -c https://example.com/arquivo-grande.zip
Tentar várias vezes com intervalo:
wget --tries=20 --waitretry=5 https://example.com/arquivo
Atalhos e cheatsheet rápido
- Baixar arquivo:
wget URL
- Salvar com nome:
wget -O nome.ext URL
- Verificar apenas:
wget --spider URL
- Recursivo:
wget -r URL
- Limitar velocidade:
wget --limit-rate=50K URL
- Resumir:
wget -c URL
Glossário (uma linha cada)
- User-Agent: cadeia que identifica o cliente HTTP ao servidor.
- Recursão: seguir links e baixar recursos referenciados.
- Mirror: cópia local de um site para reprodução offline.
- PATH: variável de ambiente que lista pastas pesquisadas para executáveis.
Perguntas frequentes
Por que o wget não é encontrado no Windows?
Porque não está instalado ou a pasta com wget.exe não faz parte da variável PATH. Instale via Chocolatey/Scoop ou adicione o executável ao PATH.
O que é curl?
cURL é outra ferramenta de linha de comando para transferir dados usando vários protocolos. É mais indicada para chamadas REST e manipulação de cabeçalhos.
Casos em que wget pode falhar ou não ser ideal
- Sites que dependem de execução de JavaScript para carregar conteúdo (use um navegador headless como Puppeteer ou Playwright).
- Sites com proteções anti-bot avançadas; nesses casos, use APIs oficiais ou peça permissão.
- Para uploads complexos, curl ou bibliotecas específicas são mais adequadas.
Sugestão de pré-visualização social
OG title: Guia completo do wget — Instalação e exemplos práticos OG description: Solucione “wget: command not found”, instale no Windows/macOS/Linux e aprenda comandos essenciais, boas práticas e alternativas.
Anúncio curto (100–200 palavras)
Quer usar wget no Windows, macOS ou Linux, mas recebeu “wget: command not found”? Este guia prático mostra como instalar wget com Chocolatey, Scoop, Homebrew ou apt/dnf, como resolver problemas de PATH, e fornece exemplos reais: baixar arquivos, renomear saídas, limitar taxa, espelhar sites com segurança e emular User-Agent. Inclui alternativas (curl, PowerShell, WSL), um mini playbook para espelhamento responsável e uma cheatsheet para começar rapidamente. Siga as boas práticas para não sobrecarregar servidores e respeite robots.txt. Se precisar de um comando adaptado ao seu caso, descreva o objetivo e a plataforma que você usa.
Resumo final
- Verifique se o wget está instalado com
wget -V
. - No Windows, prefira Chocolatey ou Scoop. No macOS, use Homebrew.
- Use –wait e –limit-rate para não sobrecarregar servidores.
- Para sites que dependem de JavaScript, prefira uma solução headless.
Se precisar, posso gerar o linha de comando exata para o seu caso (URL, domínio, limites e pasta de saída).