Índice das dicas
Wget: Resumir downloads e fazer cópias de sites
Por Carlos E. Morimoto em 15 de maio de 2006 às 19h00
0Em se tratando de gerenciar e restaurar downloads ou mesmo baixar sites inteiros o wget é um dos programas mais usados, servindo inclusive como base para alguns programas gráficos. Eu o uso muito nos meus scripts do Kurumin por exemplo.
O uso mais corriqueiro para ele é simplesmente restaurar um download. Neste caso use o comando "wget -c" seguido pelo endereço do arquivo a ser baixado, como em:
$ wget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
Caso o download seja interrompido, basta rodar o mesmo comando novamente e ele continua de onde parou. Caso o arquivo já esteja completo ele exibe um aviso e não faz nada.
Caso você esteja no meio de um daqueles downloads realmente ruins, onde a transferência cai de 30 em 30 segundos, pode experimentar fazer um script com o comando para baixar o arquivo repetido várias vezes, assim o wget vai resumindo o download automaticamente até conseguir terminar. Dois exemplos que você pode usar para o script:
A)
wget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
wget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
wget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
wget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
(repetindo muitas vezes)
B)
continuar=1
parar=0
while [ "$parar" -lt "$continuar" ]
dowget -c http://ftp.ibiblio.org/pub/Linux/distributions/kurumin/kurumin-2.05a.iso
done
Este segundo é mais elegante, o comando fica dentro de um loop infinito e simplesmente vai sendo executado indefinidamente até você abortar o comando ou fechar a janela do terminal.
Como já vimos anteriormente, os scripts são arquivos de texto comuns, você só precisa marcar a permissão de execução nas propriedades ou usar o comando "chmod +x arquivo" e depois executá-lo com um "./arquivo".
Se por acaso você estiver tentando baixar um arquivo de um site de FTP que exige autenticação, siga este exemplo:
$ wget ftp://login@senha@http://ftp.ibiblio.org/pub/Linux/algumacoisa.iso
Veja que adicionamos o login@senha@ antes do endereço do arquivo a baixar, onde você coloca o seu login e senha.
Se você quiser tentar baixar um site inteiro, use o parâmetro -r como em:
$ wget -r http://uol.com.br
Isso vai criar uma pasta dentro do diretório atual, onde o wget tentará reproduzir toda a estrutura de diretórios do site.
Lembre-se que muitos sites são realmente grandes o que vai fazer o download demorar horas ou dias. Além disso ripar sites é extremamente deselegante pois consome uma quantidade absurda de banda, prejudicando o acesso de outros usuários. Muitos servidores utilizam proteções que o expulsam por algumas horas caso você tente acessar mais do que xx páginas por minuto, de modo a impedir a ripagem.
Uma forma de minimizar isso seria baixar apenas páginas html do site, deixando de lado as imagens e outros arquivos. Neste caso você usa o parâmetro -A, seguido dos tipos de arquivos a serem baixados, como em:
$ wget -r -A ".html" http://www.uol.com.br
O wget converte automaticamente páginas php, asp e outras extensões para html, de forma que esse comando funciona bem com a maioria dos sites.
Estas são apenas os recursos mais usados. Para ver uma lista completa do que ele pode fazer, dê uma consultada no manual: man wget
Sem comentáriosPor Carlos E. Morimoto. Revisado 15 de maio de 2006 às 19h00


Comentários