O wget é a melhor opção para fazer download de arquivos, quase sempre, em função de sua flexibilidade e agilidade. É um dos meus aplicativos preferidos, por tornar simples várias situações complexas.
- baixar arquivos grandes;
- baixar vários arquivos recursivamente;
- baixar arquivos sem minha interação;
- baixar uma grande quantidade de arquivos etc.
LEIA MAIS
- Gostou do wget? Então conheça o wput! — para fazer uploads e enviar rápido seus arquivos pra outra máquina.
- Se você não usa Linux, baixe a versão do wget para Windows
- Conheça o comando tar em 9 exemplos
- Conheça outros comandos básicos Linux
Vou mostrar, neste artigo, o meu jeito preferido de baixar arquivos via wget.
Download de um simples arquivo
Veja como baixar o Ubuntu 14.04 64 bits via wget:
wget http://releases.ubuntu.com/trusty/ubuntu-14.04-desktop-amd64.iso
Note que, enquanto baixa o arquivo, o wget exibe algumas informações:
- o percentual de download já completado;
- a quantidade de bytes baixados;
- a velocidade de download atual;
- o tempo restante para completar a tarefa.
Neste caso, especificamente, não costumo usar o wget. Creio que torrents ainda são a forma mais eficiente de baixar a minha distro preferida.
Veja como baixar o torrent do Ubuntu via wget:
wget http://releases.ubuntu.com/saucy/ubuntu-13.10-desktop-i386.iso.torrent
Neste exemplos, o wget vai gravar o arquivo baixado no diretório corrente. Fique atento.
Como baixar um arquivo com wget e salvar com nome diferente ou em diretório diferente
A maneira como wget grava os nomes dos arquivos baixados nem sempre é a mais adequada para a sua situação. Para estes casos, use o parâmetro -O
. Veja como:
wget http://releases.ubuntu.com/saucy/ubuntu-13.10-desktop-i386.iso.torrent -O UbuntuSaucySalamander.torrent
O mesmo pode ser feito se você quiser gravar em um diretório diferente do atual:
wget http://releases.ubuntu.com/saucy/ubuntu-13.10-desktop-i386.iso.torrent -O ~/Downloads/UbuntuSaucySalamander.torrent
Como limitar a velocidade de download do wget
Ao executar o aplicativo, ele vai buscar usar toda a banda possível, para terminar logo a tarefa. Em alguns casos, isto pode ser um grande problema – imagine um servidor de produção.
Com o parâmetro --limit-rate
, é possível restringir o uso da banda em níveis seguros. Veja como baixar o Ubuntu 14.04 LTS com velocidade limitada a 300k
wget --limit-rate=300k http://releases.ubuntu.com/saucy/ubuntu-13.10-desktop-i386.iso.torrent
Quando baixar arquivos pequenos, você pode não sentir muita diferença ao fazer neste aspecto, uma vez que o wget não “limita” a banda. Na verdade, ele pausa o processo várias vezes, pelo tempo necessário para que, ao todo, ele fique dentro do limite médio especificado pelo usuário.
Como continuar um download interrompido
Para reiniciar um download no ponto em que ele parou, use a opção -c
:
wget -c http://cdimage.ubuntu.com/daily-live/current/trusty-desktop-amd64.iso
Se você não usar esta opção, o wget vai entender que deve criar um novo arquivo – e vai acrescentar “.1” ao final do nome do novo arquivo, para te ajudar a diferenciar os dois.
Faça download em background
É possível deixar o wget rodando “nos bastidores”, enquanto você trabalha no mesmo terminal. Você pode, por exemplo rodar vários wget nos bastidores, usando este método – que é essencialmente útil quando há um grande número de grandes arquivos para ser baixados, mesmo que de sites diferentes. Veja como:
wget -b http://cdimage.ubuntu.com/daily-live/current/trusty-desktop-amd64.iso Continuando em plano de fundo, pid 28553. A saída será escrita em “wget-log”. Solaris-8:~$
Como padrão, o wget irá enviar um log desta atividade pro arquivo wget-log
. Você pode olhar este log, durante a atividade da seguinte forma:
tail -f wget-log 16950K .......... .......... .......... .......... .......... 1% 458K 45m5s 17000K .......... .......... .......... .......... .......... 1% 549K 45m1s 17050K .......... .......... .......... .......... .......... 1% 480K 44m59s 17100K .......... .......... .......... .......... .......... 1% 442K 44m57s 17150K .......... .......... .......... .......... .......... 1% 542K 44m53s 17200K .......... .......... .......... .......... .......... 1% 490K 44m51s 17250K .......... .......... .......... .......... .......... 1% 505K 44m48s
Se quiser interromper todos os processos do wget em execução, use o seguinte comando:
killall wget
Disfarce de navegador com –user-agent
Alguns sites desabilitam seus downloads quando detectam que não estão sendo feitos por um navegador. Veja como usar o wget “disfarçado” de Firefox:
wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" http://cdimage.ubuntu.com/daily-live/current/trusty-desktop-amd64.iso
Neste caso, usei o site do cdimage.ubuntu apenas como exemplo. O site é feito para permitir downloads do wget sem quaisquer disfarces.
Estabeleça um número de tentativas
Conexões problemáticas podem causar interrupções no seu download. Você pode estabelecer um número de tentativas pro wget.
wget --tries=100 http://cdimage.ubuntu.com/daily-live/current/trusty-desktop-amd64.iso
Por padrão, o wget sempre faz 20 tentativas. Portanto, use este parâmetro para especificar número de tentativas diferente deste padrão.
Para especificar um número infinito de tentativas, use tries=0
.
Ao obter os seguintes erros, o wget vai parar de tentar imediatamente:
- connection refused – conexão recusada pelo servidor
- file not found (erro 404) – arquivo não encontrado
Como baixar um site completo via wget
Segue o comando para fazer download de um site completo, usando o parâmetro --mirror
wget --mirror -p --convert-links -P ./LOCAL http://www.site.com.br
em que:
- –mirror – liga as outras opções do wget adequadas para fazer o espelhamento do site em questão
- -p – baixa todos os arquivos necessários para que o site inteiro possa ser exibido localmente
- –convert-links – depois de baixar, converte os links em documentos para visualização local
- -P – grava todos os arquivos baixados dentro do diretório especificado
Como fazer o wget rejeitar certos tipos de arquivos
Em alguns casos, não quero baixar as imagens ou os arquivos de vídeo .flv… para estes casos, uso a opção --reject
. Veja como (repetindo o exemplo anterior):
wget --reject=flv --mirror -p --convert-links -P ./LOCAL http://www.site.com.br
Como fazer download de apenas certos tipos de arquivos
Temos uma situação contrária à anterior. Ainda usando o mesmo exemplo, vamos restringir os downloads aos arquivos PDF:
wget -r -A.pdf --mirror -p --convert-links -P ./LOCAL http://www.site.com.br
Como baixar arquivos de um servidor FTP com o wget
Se for possível fazer uma conexão anônima, use o wget assim:
wget ftp://meuservidor.com.br
Se o servidor exige que se faça login, use o comando assim:
wget --ftp-user=nomedousuario --ftp-password=senhadele ftp://meuservidor.com.br
Faça bom proveito das dicas e, se quiser, dê uma conferida no comando wput (pra fazer uploads)!
36 replies on “O comando wget em 10 exemplos”
Ótimo artigo. Parabéns pelo seu trabalho. Obrigado!
boa noite to tentando baixar um site com extenção https e nao to conseguindo como fazer para baixar?
ola bom dia!
teria como eu salvar o arquivo ao baixar com o nome do parametro -post-data=”123456″ salvar o arquivo assim 12456.json por exemplo
Coisa mais linda esse WGET rsrs
olá, existe alguma forma de usar o wget para baixar um banco de dados (Mysql, etc)?
Desconheço. 😉
Foi uma excelente explanação do potencial do wget. Muito obrigado!
Olá, estou conhecendo o wget agora e preciso fazer algo e gostaria de saber se ele pode me ajudar a solucionar um problema.
Eu gostaria de baixar arquivos .xls de um site, porém, esses arquivos precisam se acessados um por um no navegador.
No navegador, para eu chegar no arquivo que quero, preciso selecionar uma aba que me exibe o arquivo na tela a qual pode ser exportado em .pdf .xls ou .csv.
Usei o comando para baixar arquivos específicos, porém não deu certo, pois além de seguir o link, creio que ainda preciso de um argumento para realizar a exportação de cada arquivo para .xls para depois baixar.
Se você puder me dar uma luz, agradeço e agradeço se puder me dar um feedback por e-mail.
Boa noite. Eu utilizo um site de EAD, onde constam vários vídeos. Eu possuo login e senha do site, porém não consegui baixar apenas os vídeos usando o WGET. Ele estabelece a conexão, porém salva apenas um .html e nada mais na pasta. Há alguma forma ou parâmetro que eu possa utilizar para baixar apenas esses vídeos ?
Para baixar os vídeos, pode ser mais eficiente usar o youtube-dl (tem para interface gráfica e CLI).
é possivel baixar arquivos que estao em sites que usam protocolos de segurança com TLS/SSL????
Sim! 😉
Neste caso use a opção
--secure-protocol=nome-do-protocolo
O nome-do-protocolo pode ser auto (padrão), SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 e PFS.
Com a opção “auto”, a biblioteca SSL tem liberdade para escolher o protocolo que “achar” mais adequado.
Ela faz esta escolha enviando um cumprimento TLSv1.
Uso Wget no Windows 8.1
Bom saber que ele funciona lá também! 😉
Como pegar o link correto do torrent e colar no wget ????
O wget é para downloads diretos. Ele não funciona como cliente torrent.
Esse comando : wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add –
desinstalei o virtualbox total do kali linux
e quando eu faço o comando : sudo apt-get update
ainda apareçe o link :https://www.virtualbox.org/
sendo que já removi do sources.list
o que eu faço.
sudo apt-get update
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Atingido:2 http://dl.google.com/linux/chrome/deb stable Release
Atingido:4 http://old.kali.org/kali sana InRelease
Atingido:6 http://repo.steampowered.com/steam precise InRelease
Obter:5 http://archive-11.kali.org/kali kali-rolling InRelease [30,5 kB]
Obter:7 http://archive-11.kali.org/kali kali-rolling/main amd64 Packages [15,3 MB]
Ign:8 http://download.virtualbox.org/virtualbox/debian kali-rolling InRelease
…
Err:10 http://download.virtualbox.org/virtualbox/debian kali-rolling/contrib amd64 Packages
404 Not Found [IP: 189.72.175.89 80]
…
Ign:14 http://download.virtualbox.org/virtualbox/debian kali-rolling/contrib Translation-pt
Baixados 13,0 MB em 33s (387 kB/s)
Lendo listas de pacotes… Pronto
W: The repository ‘http://download.virtualbox.org/virtualbox/debian kali-rolling Release’ does not have a Release file.
N: Data from such a repository can’t be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Falhou ao buscar http://download.virtualbox.org/virtualbox/debian/dists/kali-rolling/contrib/binary-amd64/Packages 404 Not Found [IP: 189.72.175.89 80]
E: Falhou o download de alguns ficheiros de índice. Foram ignorados ou os antigos foram usados em seu lugar.
Isso serve para baixar os arquivos do servidor de um jogo?
Pra ser mais específico, os arquivos de um servidor de um jogo estilo MMORPG para a plataforma Android?
Jogo esse que não me pertence e eu não tenho acesso (Login e senha do servidor)
Aguardo resposta.
Obrigado.
Se o site for minimamente seguro, os arquivos com login e senha estão armazenados em um banco de dados, em outro servidor, criptografados e sem acesso externo.
O wget não terá este alcance, portanto.
Minha internet é extremamente fraca é preciso baixar os vídeos em 720p pra conseguir assistir numa qualidade pelo menos aceitável… utilizo serviços como o keepvid e o clipconverter.cc pra poder baixar… eu usava o dTa e descobri a extensão flashgot mass, porém o chrome 55 saiu recentemente e como não tem suporte a NPAPI o flashgot não é compatível…
o flashgot fazia algo com o wget que eu não sei o que é que conseguia baixar vídeos do youtube com esse tipo de link:
https://r2—sn-25glen7e.googlevideo.com/videoplayback?nh=IgpwcjAxLnBhcjEwKgkxMjcuMC4wLjE&key=yt6&dur=331.232&ratebypass=yes&source=youtube&lmt=1480826062576989&pl=22&mime=video/mp4&expire=1480856739&initcwndbps=1960000&mn=sn-25glen7e&mm=31&sparams=dur,ei,id,initcwndbps,ip,ipbits,itag,lmt,mime,mm,mn,ms,mv,nh,pl,ratebypass,requiressl,source,upn,expire&upn=SRlj58yXw-g&ip=51.254.108.188&mv=m&mt=1480834932&ms=au&itag=22&ei=Q8BDWOm-EIW1cJrmgJAB&requiressl=yes&ipbits=0&signature=D8629646E0CDAD843FCBF88F639227095282DD2E.D6EAB1565B27B7C061FC6FC7D2E5FA9D2DD167D9&id=o-ACK-XOvrwjJwROaV5FiiYM7Tx-3b0kugV3CMRwF21E3u&&title=Little+King+John%3A+THE+FLOOD+Part+11
poderia me dizer o que fazer então? simplesmente não tenho ideia de como proceder!
Tento baixar pelo cmd? Não consigo baixar….
Ótimo.
Amigo, gostaria de saber onde fica salvo um arquivo zip. que baixei via wget, e se posso copiá-lo.
Ele deve estar no mesmo diretório em que o wget foi executado.
como baixar uma serie (de 0 a 20) de ficheiros em ftp usando o wget?
Muito obrigado!
essas comandos me ajudaram demais a baixar podcast em massa
No meu Debian 8 dirrepente aparece esta mensagem quando tento baixar arquivos pelo wget:
root@SRV:~# wget https://download.samba.org/pub/samba/stable/samba-4.4.2.tar.gz
–2016-05-13 07:52:47– https://download.samba.org/pub/samba/stable/samba-4.4.2.tar.gz
A resolver download.samba.org (download.samba.org)…144.76.82.156
A conectar download.samba.org (download.samba.org)|144.76.82.156|:443… conectado.
ERRO: O certificado de “download.samba.org” não é confiável.
ERRO: O certificado de “download.samba.org” não tem um emissor conhecido.
Neste caso, tente este outro endereço http://download.samba.org/pub/samba/stable/samba-4.4.2.tar.gz.
Muito valiosas essas dicas! Obrigado!
Excelente!
Cara salvou a minha vida vlw pela dica
ao realizar wget -c do site https://forge.indepnet.net/attachments/download/1693/glpi-0.84.5.tar.gz , faz a conexão, estabelece conexão, porem logo dá erro no gnutls informando que não foi possivel estabelecer conexao segura ssl. O que fazer?
Neste caso, use as opções SSL do wget.
wget --secure-protocol=auto https://forge.indepnet.net/attachments/download/1693/glpi-0.84.5.tar.gz
Mesmo assim, continua o mesmo erro. Informa que o certificado de “forge.glpi-project.org” não é confiável e que não têm um emissor conhecido.
Fiz os testes com wget -c http, wget -c https, wget –secure-protocol=auto.
Mas em nenhum funcionou.
Estou utilizando o sistema Debian 7.8 em uma VMWARE WORKSTATION 11
Configurei a rede da vm conforme a rede da empresa.
Estou utilizando a configuração bridged com a opção de replicar marcada.
O IP que coloquei na vm está fora do proxy da rede. É um IP livre.
Desde a instalação do sistema até agora, tudo funcionou. Todos apt-get;
Será que preciso configurar o proxy? Mesmo sabendo que o IP está fora?
O que fazer?
“Na verdade, não baixa todos os arquivos dos sites e os que BAIXAM ficam (…)” agora com as vírgulas certas (;
Muito bom, só que pelo menos comigo acontece um problema, Na verdade não baixa todos os arquivos dos sites, e os que baixão ficam com uns nomes estranhos por exemplo “style.css@ver=5.2.0” (refere-se a uma folha de estilo do site). como faço para os arquivos nao ficarem com esses nomes estranho. Com o Wget tem como baixar por exemplo o tema de um site?