Fonte: http://www2.explorando.com.br/2007/09/como-baixar-sites-inteiros-com-o-wget
wget -r http://www.umsitequalquer.com.etc
Faz com que ele copie todo o site
(salvando na pasta atual do prompt), incluindo imagens, seguindo os
links e baixando todos os arquivos que encontrar. Claro que isso deve
ser usado com responsabilidade, para não prejudicar o site e nem mesmo
seu HD, pois facilmente você poderá enchê-lo de porcaria.
DICA QUE SÓ O EXPLORANDO DÁ PARA VOCÊ: por padrão, o wget ignora os
arquivos que o produtor do site pediu para ignorar, por meio de um
arquivo "robots.txt". Esse arquivo serve para os caçadores de sites dos
buscadores, eles identificam quais arquivos não devem seguir os links.
Isso impede que o wget baixe determinados arquivos, arquivos esses que
muitas vezes são justamente os que você precisa. Para fazê-lo ignorar os
arquivos "robots.txt" e baixar tudo o que encontrar, basta usar o
parâmetro -erobots=off. Ficaria assim:
wget -r -erobots=off http://www.umsitequalquer.com.etc
Se você quiser baixar apenas arquivos de determinado tipo, use o parâmetro -A seguido da extensão, por exemplo:
wget -r -erobots=off -A ".gif" http://www.umsitequalquer.com.etc
Boa sorte, juízo e por favor, responsa sempre! Use essas dicas com
cuidado, pois isso em excesso pode prejudicar os sites. Não somos contra
o compartilhamento de informação, cada um faz o uso que quiser, sob sua
inteira responsabilidade.
A sintaxe básica é essa aí, deixo aqui o trecho do texto do Eder que fala do wget, vale a pena :)
Aproveitando, comentei recentemente aqui sobre várias críticas ao Linux
(algumas exclusivamente pessoais e momentâneas, outras globais), mas há
coisas que no Linux você tem primeiro, realmente :) Como digo, eu
amodeio o Linux, hehe. Bom, vamos ao tutô do wget!
Comando wget = software que faz o download de arquivos da WWW
por Eder S. G. (Jordam)
ederjordam@yahoo.com.br
http://geocities.yahoo.com.br/ederjordam
Sintaxe:
wget URL:porta/path
- Comeca a fazer o download do arquivo 'file1.avi'
wget http://www.site.com.br/file1.avi
- Caso a conexao termine e o download do arquivo 'file1.avi' não
tenha terminado, basta reiniciar do ponto onde caiu a conexão, usando o
parametro '-c'
wget -c http://www.site.com.br/file1.avi
- Copia todo o conteúdo do site referente à este dominio
wget -r http://www.dominio.com/
- Baixa 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. O wget automaticamente converte páginas
php, asp e outras extensões para html, de forma que esse comando
funciona bem com a maioria dos sites
wget -r -A ".html" http://www.uol.com.br
- Baixando um arquivo via FTP com com senha. EX:
wget ftp://login@senha@http://ftp.ibiblio.org/teste.iso
ou
wget ftp://user:password@host/path
- Faz o download do arquivo 'file1.txt' especificando o nome de
usuário sendo 'user1', a senha sendo 'senha88', e o caminho do arquivo
no servidor ftp
wget user1:senha88@ftp.ederjordam.com/home/ederjordam/file1.txt
- Copia um arquivo especifico, no exemplo seria index.html e grava no diretorio '/tmp' com o nome de 'teste.html'
wget -O /tmp/teste.html http://www.site.com/files/index.html
- Copia todas as páginas HTML do site 'http://www.uol.com.br/remedios'
wget -m -l 0 -A htm http://www.uol.com.br/remedios
- Copia a página web e suas imagens para o respectivo diretório que voce se encontra
wget -r -np -k http://whatever/wherever
- Copia todo o site para o seu computador
wget -t0 -r -F http://www.dominio.com
- Faz o espelhamento (mirror) do site. OBS: Um espelhamento mal
projetado pode contribuir para encher seu disco rígido com material não
desejado, além de sobrecarregar a Internet e o servidor sendo espelhado
wget -m http://members.xoom.com/edersg/
- Uma aranha, no contexto da Internet é um programa que serve para
verificar se os links de uma página estão ativos, ou seja, verificando
se cada vínculo HREF está conectado (ativo), verificando se os links de
uma determinada página local, chamada de links.html, estão ativos
wget --spider --force-html -i links.html
- Faz o mesmo que a opção acima, porem o arquivo agora analizado se encontra na Internet
wget --spider http://members.xoom.com/edersg/links.html
- Para fazer o download apenas de imagens nos formatos jpg, gif e png
wget -P /tmp/pastaespecifica -r -p http://www.unicamp.br --accept=JPG,jpg,GIF,gif,png,PNG
- Para fazer o download de todos os aquivos de um site
wget -c -r ftp://meu.servidor.com/
- Para fazer o download do arquivo 'arquivo.txt' de um ftp que exija login e senha
wget ftp://login:senha@ftp.servidor.com/pasta/arquivo.txt
wget ftp://usuario:senha@servidor_ftp.com.br/arquivo.extensao
- Para limitar o download a no máximo 10Kbps
wget --limit-rate=10k --continue http://algumendereco/arquivo.zip
- O wget pode também retomar transferências interrompidas (opção
'-c') quando se fornece o arquivo incompleto ao qual se acrescenta os
restantes dados. Esta operação precisa de ser suportada pelo servidor
wget -c http://o.url.do/arquivo/incompleto
Entretanto, lembre-se que nem todos os sites estão abertos para
espelhamento, o direito autoral deve ser respeitado. E também, existem
sites que possuem arquivos robots.txt que especificam quais partes do
site podem ser copiadas e quais não. Portanto, não se surpreenda se
descobrir que determinado site ou página não pode ser recuperado.
- Se tiver tantas interrupções na transferência de arquivo como eu
tenho no meu escritório, pode dizer ao wget para tentar o URL várias
vezes
wget -t 5 http://coloque.o.seu.url/aqui
aqui desistimos ao fim de 5 tentativas. Use a opcao '-t inf' para nunca
desistir.
- E quanto a proxy firewalls? Use a variável de ambiente "http_proxy"
ou o arquivo de configuração ".wgetrc" para especificar um proxy
através do qual irá fazer a transferência de arquivos. Um problema com
ligações via proxy com ligações interrompidas é que o retomar pode por
vezes falhar. Se uma transferência via proxy é interrompida o servidor
proxy irá colocar em cache somente uma cópia incompleta do arquivo.
Quando tentar usar "wget -c" para obter o resto do arquivo o proxy irá
verificar a sua cache e informar erradamente que o arquivo completo já
foi transferido. Pode conseguir que a maioria dos proxyes não passe pelo
cache, adicionando um cabeçalho especial ao pedido de transferência de
arquivos:
wget -c --header="Pragma: no-cache" http://coloque.o.seu.url/aqui
- A opção "--header" pode adicionar qualquer número e tipos de
cabeçalhos pelos quais podemos modificar o comportamento dos servidores
de rede e dos proxies. Alguns sítios recusam-se a servir arquivos via
uma ligação externa; o conteúdo é entregue somente a navegadores se
acederem a página via outra página no mesmo sítio. Pode contornar isto
adicionando um cabeçalho 'Referer:'
wget --header="Referer: http://site.com/pagina"
http://navegar.para.esta/pagina
- Alguns sites na rede particularmente anti-sociais irão fornecer
conteúdo somente a um tipo específico de navegador. Contorne isto com um
cabeçalho "User-Agent:" header:
wget --header="User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; WindowsNT; DigExt)" http://so.url.msie/aqui
Aviso: a dica acima pode ser considerada um mecanismo para evitar
licenciamento de conteúdo e existem sistemas legais anti-sociais que
consideram estas acções ilegais. Verifique a legislação local.
- A opção "-N" para o wget irá verificar o selo temporal do objectivo
e parar a transferência se eles coincidirem, o que é uma indicação que o
ficheior completo foi transferido. Por isso pode activa-lo e esquece-lo
wget -c -N http://coloque.o.seu.url/aqui
- Recuperando downloads interrompidos - uma das características que
tornam interessantes o uso do wget é sua capacidade para recuperar
downloads interrompidos, desde, é claro, que o servidor suporte este
recurso. Você pode recuperar downloads perdidos especificando a opção
'-c' na linha de comando do wget
wget -c http://www.dominio.com/arquivo.tar.gz
- Espelhamento de sites - outro recurso interessante é o espelhamento
de sites, também conhecido como mirror. O wget é capaz de fazer
espelhamento de sites, mas tenha cuidado: um espelhamento mal projetado
pode contribuir para encher seu disco rígido com material não desejado,
além de sobrecarregar a Internet e o servidor sendo espelhado. Você faz
um espelhamento utilizando a opção -m (de mirror). Lembre-se que nem
todos os sites estão abertos para espelhamento. Existem sites que
possuem arquivos 'robots.txt' que especificam quais partes do site podem
ser copiadas e quais não. Portanto, não se surpreenda se descobrir que
determinado site ou página não pode ser recuperado
wget -m http://www.dominio.com/diretorio/
- O comando 'at' pode ser utilizado para agendar uma tarefa em um
momento específico do dia. Este comando vai agendar para a 1 hora da
madrugada o download do arquivo http://www.dominio.com/file01.tar.gz'. O
resultado do download (no caso, mensagens do wget), serão enviados para
voce via comando 'mail'
echo "wget http://www.dominio.com/file01.tar.gz" | at 01:00
- Uma 'aranha', no contexto da Internet, é um programa que serve para
verificar se os links de uma página estão ativos. A referência surgiu
por que o programa examina a página como se fosse um ponto de uma teia
(web), verificando se cada fio (vínculo HREF) está conectado (ativo).
Para utilizar o wget como aranha, usamos a opção '--spider'. Para
verificar se os links de uma determinada página local, chamada de
'bookmark.html' estão ativos, basta digitar o comando acima. A opção
'--force-html' obriga o arquivo local 'bookmark.html' a ser tratado como
arquivo HTML
wget --spider --force-html -i bookmark.html
Se o arquivo reside na Internet, a sintaxe pode ser simplificada wget --spider http://www.dominio.com/linuxlinks.html
- Baixa o conteúdo de um web site
wget -c -t70 -r -np http://www.dominio.com.br
- Passa alguns parametros como usuário e senha para poder baixar o conteúdo de um site
wget -c -r --http-user=usuario --http-passwd=senha link
-c : esta opção informa ao wget para continuar o download de onde
terminou se encontrar um arquivo parcial. Se não fosse informada esta
opção, ele criaria novo arquivo e começaria o download do início.
-t0 : com esta opção, estou informando ao wget que, caso o download
falhe, ele deve repetir indefinidamente o mesmo. É preciso cuidado com
esta opção, principalmente se o comando será executado em uma
sexta-feira para ser verificado somente na segunda feira - se a URL
estiver errada, o wget vai ficar tentando encontrar o arquivo
indefinidamente.
-T30 : o wget utiliza a facilidade de timeout, mas seus limites de
tempo não são satisfatórios, pelo menos não para mim. Com esta opção,
estou informando ao wget que, se não houver fluxo de dados por 30
segundos, ele deve refazer a conexão.
-i get-list.txt : esta opção informa ao wget que este deve ler as
URL's a serem baixadas a partir de um arquivo, a saber, get-list.txt
(pode ser qualquer nome), em vez de receber a mesma na linha de comando.
Nenhum comentário:
Postar um comentário