Usando o wget

Publicado por Leandro Soriano Ferreira em 05/07/2006

[ Hits: 108.976 ]

 


Usando o wget



É possível baixar sites inteiros com o wget:

# wget -r www.ositequesequerbaixar.dominio

Vale lembrar que isso vai baixar apenas os arquivos linkados nas páginas do site. Arquivos sem referência alguma não são passíveis de visualização.

Se você estava baixando alguma coisa via linha de comando com um

# wget www.origem.dominio/arquivo

e, de repente, o download parou, é possível continuar com:

# wget -c www.origem.dominio/arquivo

É possível também criar uma lista de links em um arquivo e pedir pro wget usá-la como arquivo de entrada:

# wget -f file

Para forçar o arquivo de entrada a ser tratado como um arquivo HTML, use o -F:

# wget -fF file

Asim, você poderia criar uma lista de sites interessantes e baixá-los todos de uma vez, ou criar uma lista de arquivos a serem baixados (seqüencialmente) e fazer o mesmo com eles.

O wget costuma enviar muita saída de texto, quem o usa em scripts normalmente não deseja este inconveniente. Logo, o melhor seria usar o wget desta maneira:

# wget -nv [outras opções] [links]

Assim, o wget só envia para tela mensagens onde ele avisa que um dado arquivo foi baixado com sucesso.

Para colocar o wget no segundo plano, sem o "&", faça o seguinte:

# wget -b

Existem muitas outras coisas legais pra se fazer com o wget, basta ter paciência de ler os "man"s do Unix.

Outras dicas deste autor

Criando um repositório local Debian

Leitura recomendada

Estado dos processos

Zenwalk vs Slackware

Cliente OwnCloud no CentOS Linux

Configurando o PHP-Weathermap no Cacti

Linux contra a pirataria

  

Comentários
[1] Comentário enviado por hatin em 05/07/2006 - 18:52h

um script em perl:

http://br.geocities.com/hatusn/scripts/perl/getter-0.4.pl.txt

[2] Comentário enviado por fernoliv em 06/07/2006 - 06:24h

Complementando...

Se quiser usar o wget via Proxy (numa rede corporativa por exemplo), crie em seu $home o arquivo .wgetrc com o seguinte conteúdo:

proxy_passwd = suasenha
http_proxy = http://IP:Porta
proxy_user = seuusuario
ftp_proxy=http://IP:Porta

Fazendo isso será possível utilizar o comando wget normalmente através de Proxy´s.

Abraço, Fernando.

[3] Comentário enviado por escorpion em 06/07/2006 - 13:41h

Quero puxar uma pagina q e' em asp, so q queria que o wget puxasse como html, qual o comando?
Ja tentei #wget -r ".html" http://site.com.br/
e nao funcionou, baixou apenas o index

[4] Comentário enviado por sfohart em 10/07/2006 - 08:00h

Não precisa especificar o tipo da página, ele só baixa html... Seria um equivoco de segurança ele deixar baixar código php com senhas de acesso a banco de dados de um servidor qualquer...

[5] Comentário enviado por Raptor em 21/08/2006 - 23:09h

Existe alguma forma de especificar para que o wget baixe apenas imagens jpg de um determinado site? Não gostaria q ele fizesse o download de gif, bmp, etc.

Posso usar todos estes comandos ao mesmo tempo?

# wget -r -b -nv -t 0 -c www.ositequesequerbaixar.dominio

Existe alguma ordem para usar os comandos, ou é indiferente?

[6] Comentário enviado por cain em 23/04/2007 - 21:52h

otímo artigo.. ajudou muito aqui...

Raptor. nunca me preocupei com a ordem, creio que seja indiferente.

[7] Comentário enviado por sombriks em 12/10/2007 - 00:51h

favorito agora. vivo perdendo a parte de como faz a configuração de proxy.

[8] Comentário enviado por kabalido em 26/11/2007 - 03:03h

Ótimo artigo.
Mas só pra corrigir, em vez de # wget -f file, seria # wget -i file

[9] Comentário enviado por Wesllay em 08/01/2008 - 18:23h

Valeu fernoliv matou a pau, resolveu minha quebração de cabeça do uso do WGET através do proxy.

[10] Comentário enviado por gutorj em 08/10/2008 - 10:50h

Estou tentando usar o wget para baixar arquivos de um site que pede autenticação na página. Estou usando os parametros --http-user e --http-passwd mas sem sucesso.

[11] Comentário enviado por sombriks em 08/10/2008 - 11:00h

cara estou de slackware 12.1 e a configuração do proxy só foi pra frente assim: (coloquei no meu .bashrc)

export http_proxy="http://<nome de usuário do proxy>:<senha do usuário do proxy>@<ip do proxy>:<porta do proxy>"

[12] Comentário enviado por rep6ohms em 07/07/2012 - 11:22h

Estou tentando fazer um wget renomeando os arquivos baixados para um nome padrao, alguem saberia me ajudar?

while read linha
do

var=$(echo $linha | awk -F";" '{print $1,$2,$3,$4,$5}')
set -- $var
echo $num
wget -c -t5 $5

#renomear o arquivo com nome diferente ao do download

#mandar para uma pasta com data


done < download.csv



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts