Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Relogio

O poder do wget

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

O poder do wget

Mensagem  juk em Qua Jan 09, 2013 8:01 pm

por Marcos Elias, com base num tutorial do Eder S. G.
O EXPLORANDO É BOM DEMAIS! AS DICAS QUE NINGUÉM MOSTRA, AQUI VOCÊ TEM SEM FRESCURA!!! VEJA COMO BAIXAR AQUELA TÃO SONHADA GALERIA DE IMAGENS DO SEU SITE PREDILETO SEM TER DE CLICAR EM UMA POR UMA (DESDE QUE USEM LINKAGEM EM HTML SIMPLES), BAIXE SITES E BLOGS INTEIROS PARA LER OFF LINE OU FAZER O QUE QUISER!!! A WEB É SUA!
Há tempos eu havia dado aqui uma dica de programa para baixar sites inteiros, era shareware. Depois comentei do HTTrack, com interface gráfica e que tem versões para Windows e Linux, mas é um pouco falho. Isso faz tempo... Agora pouco dei a dica aqui de um tutorial cheio de comandos para o Linux, do Eder S. G., com base numa notícia publicada pelo Julio no GdH. Nesse tutorial havia muitas informações sobre o WGET, um programa de linha de comando para Unix/Linux, cujo objetivo é baixar arquivos da Internet. Muito usado em scripts, ele é uma boa também manualmente e para tarefas em lotes. Ele pode baixar sites inteiros! E para quem não usa Linux, não tem problema, existe uma versão para Windows também. No Linux, praticamente todas as distribuições incluem o wget. Para o Windows, procure por "wget for Windows" no Google que você deverá encontrar.
Dando o comando:
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 Smile
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 Smile 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
http://www2.explorando.com.br/2007/09/como-baixar-sites-inteiros-com-o-wget
avatar
juk

Mensagens : 224
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum