You are on page 1of 4

Criado 17/out/2007 s 12h38 por Marcos Elias Pico 7

Notcias Guias O que h de novo?


Artigos Tutoriais Livros Dicas Anlises
Livros
ndice das dicas
Baixando sites inteiros com o wget
Muitas vezes voc encontra um site cheio de coisas interessantes, mas no dispe de tempo
para ler on line na hora. Ou, encontra algo to importante que pretende guardar em CD ou
DVD, para nunca perder. A natureza dos sites da web no permitem isso. Voc entra, acessa
um site e navega pela pgina. Se quiser outro contedo, deve clicar num link, ento o mesmo
descarregado at a sua tela. Fica complicado, por exemplo, querer salvar um site inteiro no
seu computador clicando nos links e salvando pgina por pgina.
L vem a computao novamente, com sua rapidez e "inteligncia". Sim, inteligencia entre
aspas porque as mquinas em si so burras, meros papagaios, como voc sabe s fazem
aquilo que foi previamente programado. H programas que podem baixar os sites inteiros, sem
que voc precise entrar e clicar em link por link. O que esses programas fazem seguir os
links das pginas, deifinidos em HTML pela tag <a href=...>. No final do processo, voc pode
ter todo o site ou vrias pginas e arquivos do seu interesse.
Existem vrios programas que se propem a isso, a maioria para Windows, normalmente
pagos. Quase sempre o que se encontra so sharewares, que se limitam a funcionar por um
perodo determinado ou baixam apenas um certo nmero de pginas, sendo liberados somente
na verso completa. H um gratuito e open source, o HTTrack (WinHTTrack, na verso para
Windows), bom e relativamente bastante usado, por ser fcil e bastante personalizvel. Mas
h muito tempo h uma outra soluo gratuita e aberta, muito conhecida pelos usurios de
Linux: o wget. O wget um programa criado inicialmente para o ambiente Unix/Linux, cujo
objetivo principal baixar arquivos da internet. Ele pode ser usado em scripts, tornando a
programao de diversas "aplicaes" bem mais fcil. Para felicidade de quem usa Windows,
saiba que h uma verso portada dele para o Windows, que funciona exatamente da mesma
forma da verso Unix. E para quem quer baixar sites inteiros ou vrias pginas, ele tambm
tem esse recurso. De quebra, um programa bem pequenininho, operado via linha de
comando, o que permite o uso fcil em scripts ou a criao de interfaces.
Antes de comear, tenha em mente que baixar sites inteiros pode prejudicar os sites. Alm dos
sites em si, essa tarefa que pode consumir muita banda de download deles, voc pode acabar
prejudicando outros sites que estejam hospedados no mesmo servidor, especialmente se for
um hospedeiro compartilhado - mesmo comercial. Muita gente no tem noo de que baixar
sites de uma vez ou acessar excessivamente arquivos grandes pode ser prejudicial, e faz isso
sem saber; bom que voc esteja consciente para no abusar.
Obtendo o wget
Quase toda distribuio de Linux inclui ele. Caso no inclua, experimente instal-lo usando o
gerenciador de pacotes da sua distribuio. Se voc usa Windows, pode baix-lo em:
http://pages.interlog.com/~tcharron/wgetwin.html
O bsico do wget
Para baixar um arquivo com o wget, basta dar o comando wget seguido pelo caminho do
arquivo na internet. Exemplo:
wget http://www.umsitequalquer.com.etc/arquivo.zip
E o arquivo ser baixado na pasta atual do prompt de comando. Caso o download seja
interrompido (porque o computador trave, ou o usurio tecle CTRL + C no prompt), possvel
recontinuar do ponto em que parou, caso o servidor suporte o recurso. Basta informar, antes
da URL, o parmetro -c, e claro, usar a mesma pasta que contm o "pedao" anterior do
arquivo:
wget -c http://www.umsitequalquer.com.etc/arquivo.zip
Muita gente usa o wget como gerenciador de downloads (no Linux), em vez de baixar os
arquivos pelos navegadores. Ele no acelera os downloads (como fazem os "aceleradores de
downloads", que abrem vrias conexes), mas permitir recontinuar do ponto em que parou
muito til, especialmente para quem acessa com conexo lenta ou instvel, que cai toda hora.
Baixando sites inteiros
Passando o parmetro -r, ele baixar todos os arquivos encontrados no domnio. Cuidado, use
com ateno e responsabilidade! Alm de poder atrapalhar o site, voc poder baixar muita
coisa intil. A sintaxe seria:
wget -r http://www.umsitequalquer.com.etc
Ele seguir os links definidos em HTML, pela tag <a href...> nas pginas. Links em JavaScript
ou em flash no sero reconhecidos, e as pginas no sero baixadas. No caso do JavaScript,
quase impossvel um programa sair baixando tudo realmente, pois h vrias formas de se
"programar" links em JavaScript.
Por padro, o wget ignora os arquivos que o produtor do site pediu para ignorar, por meio de
um arquivo especial, o "robots.txt". Esse arquivo serve para os motores de busca de sites de
pesquisa; eles lem o arquivo e ficam sabendo para quais arquivos no devem seguir os links.
Isso impede que o wget baixe determinados arquivos, arquivos esses que muitas vezes so
justamente os que voc precisa. Para faz-lo ignorar os arquivos "robots.txt" e baixar tudo o
que encontrar, basta usar o parmetro -erobots=off. Ficaria assim:
Guia do hardware GDH Press Frum GdH Publique seu texto RSS
Notcias
24/01
Apresentaes no Google Drive podem ser usadas
offline
Intel lana portal de desenvolvimento em HTML 5 em
portugus
23/01
Ubuntu poder ter nova verso a cada dois anos
Novos processadores baratos da linha Ivy Bridge
Mozilla anuncia telefones para desenvolvedores com
Firefox OS
22/01
Entrada manuscrita no Google mobile foi aprimorada
Opera Ice: verso do Opera com WebKit para iOS e
Android chega em fevereiro
RIM poder vender sua diviso de hardware, focando-se
no software
21/01
Valve destaca beta do Steam para Linux na sua pgina
Mega: sucessor do Megaupload d 50 GB de espao, e
inova na segurana
17/01
MediaFire lana app para Android: 50 GB de espao
grtis
Empresa italiana lana tablet com Android e Ubuntu
16/01
Promoo de janeiro da GDH Press: Todos os livros com
frete grtis e Redes 2ed. por apenas R$ 45
Chrome beta suporta a API Web Speech, de
reconhecimento de voz
Ex-funcionrios da AMD teriam furtado documentos
confidenciais para a Nvidia
Facebook lana Graph Search Beta, sistema de busca
pessoal
Tablet da CCE com Android 4.0 por R$ 400
15/01
Lanado Fedora 18, com suporte ao secure boot
Windows Phone 8: tela curiosa pode pedir para inserir
disco do Windows
14/01
Desenvolvedores podero responder comentrios no
Google Play
Notcias do ms de Janeiro de 2013
Home Equipe Efetuar Login
Buscar...
Buscar...
Compre o seu
... ou leia os captulos disponveis online.
wget -r -erobots=off http://www.umsitequalquer.com.etc
Apesar de tecnicamente possvel, um meio no muito legal fazer isso. Essa opo -
erobots=off no comentada em muitos lugares. Novamente alerto, use com responsabilidade
ou quando precisar "mesmo", afinal no devemos ser contra a divulgao de informaes.
Voc pode us-la, por exemplo, quando quiser baixar um arquivo linkado mas que no esteja
disponvel para ser indexado pelos buscadores (via robots.txt), j que o wget o ignoraria.
Uma dica para reduzir a quantidade de downloads baixar apenas arquivos de determinado
tipo, por exemplo, apenas pginas HTML. Isso possvel com o parmetro -A, especificando a
seguir o tipo de arquivo pela extenso. Veja:
wget -r -A ".html" http://www.umsitequalquer.com.etc
As pginas ASP, PHP, entre outras, sero convertidas em HTML pelo wget (at porque sero
pginas j processadas quando o wget acess-las), ou seja, voc no precisar se preocupar
em ficar digitando todas as extenses possveis para as pginas. Da mesma forma, fica fcil
baixar todas as imagens:
wget -r -A ".gif" http://www.umsitequalquer.com.etc
ou
wget -r -A ".jpg" http://www.umsitequalquer.com.etc
Depende do que voc precisa.
Dica direta para baixar sites inteiros: o wget possui o parmetro -m, ideal para fazer
espelhamentos de sites (mirroring), onde ele j ativa as opes necessrias. Se seu objetivo
fazer um mirror do site, pode ir direto ao ponto:
wget -m http://www.umsitequalquer.com.etc
Outra coisa a identidade do navegador. Alguns sites s oferecem o contedo ao verificarem
que determinado navegador que est acessando a pgina (como o IE, por exemplo), e o
wget no conseguiria acesso aos arquivos. Pode-se fingir a identidade de navegador com esse
parmetro:
--user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
Colocando no texto entre aspas a identificao do navegador e sistema que voc quiser.
Pginas protegidas com senha
Pginas que exibem uma tela de login personalizada, via web mesmo, provavelmente no
podero ser baixadas. Digamos que voc queira baixar todo o contedo do Orkut, ou de uma
comunidade ou frum restrito. Ao acessar a pgina, vem uma pgina do site que pede o login e
a senha. O wget pararia nela e se limitaria a pegar as pginas linkadas ela diretamente.
No entanto, pginas que pedem senha diretamente pelo servidor, podem ser baixadas. Estas
podem ser acessadas passando o nome e a senha diretamente na URL, com o wget no seria
diferente:
wget http://usuario:senha@servidor.com.etc/arquivo.etc
Tambm pode ser usado para servidores FTP, bastando trocar o http:// por ftp://.
Outros parmetros importantes
Atravs de diversos parmetros podemos controlar melhor o donwnload dos arquivos. Eis
alguns importantes:
-t0
Nmero de vezes que ele deve tentar baixar um arquivo, caso no consiga. Definindo zero
deixa configurado como "ilimitado", o que faz ele ficar tentando at conseguir baixar. Observe
que deve-se deixar o nmero logo ao lado da letra "t", sem espao. bom us-lo mas com
cuidado, num site com muitos arquivos e uma conexo ruim, voc pode ficar forando o
download de vrios arquivos que nunca sero baixados, toa. Por precauo, defina um
nmero menor, como -t3 ou -t5.
-c
Permite continuar downloads interrompidos, sem que ele precise baixar o que j foi baixado,
incluindo pedaos de arquivos (e no apenas pginas). bom us-lo, principalmente quando
no der tempo de baixar o que voc quer em uma nica vez.
-np
Ideal para baixar pginas de uma mesma rea de um site. Com o -np (no-parent) ele baixa
apenas os arquivos da URL definida sem pegar a pasta pai dela. Por exemplo, utilize caso
queira baixar o site http://www.site.com.etc/algumacoisa, mas no o contedo do
http://www.site.com.etc (e sim apenas da pasta /algumacoisa).
-T30
Define o timeout (limite de tempo) para 30 segundos. Quando ele fica espera do arquivo, em
conexes lentas, esse parmetro orienta a refazer a conexo para puxar tal arquivo a cada 30
segundos, at conseguir. Observe a diferena que este em letra maiscula.
E os donos dos sites, como ficam?
Certamente no gostam nada nada disso. possvel aplicar alguns bloqueios diretamente no
servidor (o que foge ao objetivo deste texto, alm do que variar muito dependendo do
software de servidor utilizado), por exemplo, bloqueando IPs que acessem vrias pginas por
segundo (mais precisamente um nmero maior de bytes definido por voc), reduzir a
velocidade, ou at mesmo banir o IP por um perodo.
Mas no haver muito o que fazer para pginas em si. O pessoal d um jeito, afinal se pode
ser acessado pelo navegador, poder ser baixado e salvo.
Uma dica para evitar downloads automtico de arquivos grandes, poupando banda do servidor,
usar um link definido em JavaScript. Praticamente nenhum programa copiador de sites
identificaria o link, mas nos navegadores funcionaria normal. Estar com o JavaScript habilitado
nos micros clientes hoje praticamente obrigatrio, no existe mais aquele papo de problemas
de compatibilidade. Sendo assim, no se preocupe com o link em JavaScript, pois ele
funcionar.
A criao do link fica a seu critrio, evite colocar o nome do arquivo por inteiro. Um exemplo
prtico: definindo uma funo na pgina:
<script language=javascript>
function BaixaCoisa(arq){
self.location.href = arq;
}
</script>
E chamando a funo nos links assim:
<a href="javascript:BaixaCoisa('/arquivo.iso');">Clique aqui para baixar o
CD</a>
Se preferir, pode complicar mais, mas dar mais "trabalho" para implementar. Exemplo (este
coloque diretamente no local onde for ficar o link):
<script language=javascript>
document.write('<a href=');
document.write('arquivo.zip');
document.write('>');
document.write('clique aqui');>
document.write('</a>');
</script>
Um outro meio um pouco mais complicado de implementar, aplicar CAPTHA, aquela
verificao de letras e nmeros aleatrios em determinadas sees do site. O programa pra
ali. Mas cuidado, a maioria dos sistemas no permitem o uso por deficientes visuais, o que
prejudica legal a acessibilidade do seu site, especialmente se usar isso em reas essenciais.
isso. Responsabilidade sempre!
Por Marcos Elias Pico. Revisado 2/mar/2011 s 14h56
Comentrios
wget
Criado 26/ago/2011 s 21h13 por Leogh (annimo)
O link precisa ser um link direto?
WGET
Criado 22/jan/2011 s 11h55 por Tom (annimo)
Viva Marcos,
Trata de um assunto de interesse da comunidade free. Dou-lhe os parabns por estas linhas que escreveu.. No entanto devemos todos, como o Marcos disse
"Novamente alerto, use com responsabilidade ou quando precisar.." :)
wget
Criado 24/dez/2010 s 15h18 por Ricardo (annimo)
Caraca!!! eita comando!!! baixa tudo mesmo!!!
wget
Criado 23/dez/2010 s 22h13 por Gilvan Ritter (annimo)
Pra quem quer esperimentar recomendo baixar uma mina de ouro: http://serverapostilando.com/tutorials/
wget -m -erobots=off http://serverapostilando.com/tutorials/ /sua_pasta_aqui
baixe
Criado 8/set/2010 s 14h14 por julio (annimo)
muito bom o artigo. j usei as dicas para baixar alguns manuais da net.
Obrigado.
Num tem jeito por Adriano (annimo)
Eis tudo o que eu queria!
Criado 23/set/2010 s 02h59 por Sharrukin (annimo)
Enfim fizeram um artigo com tudo o que eu precisava! Valeu mesmo!!!
7 comentrios
Entrar e fazer comentrio Entrar e fazer comentrio
Expandir rplicas Expandir rplicas
Gostou do texto?
Veja nossos livros impressos:
Smartphones | Linux | Hardware
Redes | Servidores Linux
... ou encontre o que procura usando a
busca:

Destaques
Guia do Hardware agora Hardware.com.br
Hardware II, o Guia Definitivo
Siga-nos:
RSS | Twitter | Facebook
1999-2013 Hardware.com.br. Todos os direitos reservados.
Home Frum GdH RSS Equipe Topo
Buscar Buscar

You might also like