wget: comando em 10 exemplos


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
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:
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:
    Neste exemplos, o wget vai gravar o arquivo baixado no diretório corrente. Fique atento.
    wget download torrent ubuntu 13.10

    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:
    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 download ubuntu 14.04
    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:
    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:
    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.
    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
Close Menu