3
Postado às 07:20:00 por Eduardo Rolim Fazendo Download de Sites com wget Eu estava hoje precisando de um material sobre aprendizado por reforço e me deparei com uma chata dificuldade: O referido site não tinha versão em PDF do seu conteúdo. Não que isso fosse ruim mas, para estudar todo aquele material eu precisaria ficar o tempo todo à frente do computador, o que seria uma tarefa deveras enfadonha, tendo em vista que o material é dividido em centenas de páginas com mais outras centenas de referências a materiais utilizados em cada um dos capítulos. Então me veio em mente que eu precisava de algo pra copiar o site inteiro pra mim. A ntigamente, em meu tempo newbie de Windows, eu usava o GetRight para fazer essa atividade para mim. No entanto, com o passar dos tempos, o GetRight passou a não mais conseguir baixar por causa da sua "habilidade" de não deixar alterar o User-Agent de "GetRight Turbo Downloader" para algo como, por exemplo, "Mozilla Compatible". Então, fui atrás de outro programa, que durante vários e vários anos me atendeu bem nessa tarefa Chama-se . Apesar de ser shareware, era só reinstalar que ele ficava novinho em folha por 30 dias Praticamente, todas as vezes que eu o usava eu precisava reinstalar. Agora, como eu vim precisar fazer isso no Linux, fiquei pensando em uma forma prática de fazer essa mesma tarefa, sem precisar recorrer à programas de terceiros. Como eu sou programador, logo pensei em fazer um programa que fizesse isso pra mim. Lindo e fino, começei a desenvolver um script que usava o wget para resolver o endereço e pegar o arquivo e, caso fosse html ou algo do gênero, o script resolveria os endereços e chamaria recursivamente o wget para efetuar o download. Isso até que eu descobri que o próprio wget poderia fazer essa tarefa para mim, de maneira ainda mais fácil. Então, depois dessa epopéia toda, eu resolvi montar um tuto rápido sobre como usar o wget para fazer o download de sites para você, sem se preocupar com nada além do que o próprio console. Fazendo Download de sites inteiros usando o wget Bom, o wget é uma ferramenta bem simples de usar e é como um canivete suíço, daqueles bem caros Sua função é fazer download de "coisas" da web. Sua sintaxe básica é a seguinte: wget http://tocadoelfo.blogspot.com No entanto, o wget ( man ) e o less ( man ) são tudo o que você precisa para navegar na internet. O poder do wget está em poder fazer o download de recursos de uma página recursivamente, o que significa que

Fazendo download de sites com wget

Embed Size (px)

Citation preview

Page 1: Fazendo download de sites com wget

Postado às 07:20:00 por Eduardo Rolim

Fazendo Download de Sites com wget

Eu estava hoje precisando de um material sobre aprendizado por

reforço e me deparei com uma chata dificuldade: O referido site não

tinha versão em PDF do seu conteúdo. Não que isso fosse ruim mas,

para estudar todo aquele material eu precisaria ficar o tempo todo à

frente do computador, o que seria uma tarefa deveras enfadonha,

tendo em vista que o material é dividido em centenas de páginas com

mais outras centenas de referências a materiais utilizados em cada

um dos capítulos. Então me veio em mente que eu precisava de algo

pra copiar o site inteiro pra mim.

Antigamente, em meu tempo newbie de Windows, eu usava o GetRight para fazer essa atividade para

mim. No entanto, com o passar dos tempos, o GetRight passou a não mais conseguir baixar por causa

da sua "habilidade" de não deixar alterar o User-Agent de "GetRight Turbo Downloader" para algo como,

por exemplo, "Mozilla Compatible".

Então, fui atrás de outro programa, que durante vários e vários anos me atendeu bem nessa tarefa

Chama-se . Apesar de ser shareware, era só reinstalar que ele ficava novinho em folha por 30 dias

Praticamente, todas as vezes que eu o usava eu precisava reinstalar.

Agora, como eu vim precisar fazer isso no Linux, fiquei pensando em uma forma prática de fazer essa

mesma tarefa, sem precisar recorrer à programas de terceiros. Como eu sou programador, logo pensei

em fazer um programa que fizesse isso pra mim. Lindo e fino, começei a desenvolver um script que

usava o wget para resolver o endereço e pegar o arquivo e, caso fosse html ou algo do gênero, o script

resolveria os endereços e chamaria recursivamente o wget para efetuar o download. Isso até que eu

descobri que o próprio wget poderia fazer essa tarefa para mim, de maneira ainda mais fácil.

Então, depois dessa epopéia toda, eu resolvi montar um tuto rápido sobre como usar o wget para fazer o

download de sites para você, sem se preocupar com nada além do que o próprio console.

Fazendo Download de sites inteiros usando o wget

Bom, o wget é uma ferramenta bem simples de usar e é como um canivete suíço, daqueles bem caros

Sua função é fazer download de "coisas" da web. Sua sintaxe básica é a seguinte:

wget http://tocadoelfo.blogspot.com

No entanto, o wget(man) e o less(man) são tudo o que você precisa para navegar na internet. O poder do

wget está em poder fazer o download de recursos de uma página recursivamente, o que significa que

Page 2: Fazendo download de sites com wget

tudo o que estiver linkado em alguma página html será baixado. Para isso, basta usar o comando:

wget -r http://tocadoelfo.blogspot.com

No entanto, alguns sites poderão não permitir o download de seus conteúdos. Para prevenir esta prática

eles normalmente usam de algumas técnicas:

Verificação do User-Agent da requisição

Limitação de arquivos baixados por minutos

Limitação de banda

Verificação do User-Agent

Muitos sites, ao detectarem que é um gerenciador de download quem está baixando o recurso, enviam

páginas em branco ou mesmo negam a conexão, principalmente baseado na detecção do User-Agent de

quem está requisitando determinado recurso. Para contornar essa dificuldade, você pode usar a seguinte

linha:

wget -r -p -U UserAgent http://tocadoelfo.blogspot.com

Exemplos de User-Agent:

Firefox 3: Mozilla/5.0+

IE 6.0: Mozilla/5.0 (compatible; Mozilla/4.0; MSIE 6.0; Windows NT 5.1)

IE 7.0: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

Limitação de Banda e de Arquivos Baixados por Minuto

Para resolver este problema, você pode usar as opções --limit-rate e --wait. A sintaxe das duas é a

seguinte:

wget --wait=20 --limit-rate=20K -r -p -U Mozilla http://tocadoelfo.blogspot.com

Onde, --wait=20 diz para o programa para aguardar 20s entre cada download, limitando a taxa de

download a 20Kb/s.

Page 3: Fazendo download de sites com wget

Baixando somente o necessário

Para evitar que o wget saia baixando tudo o que vê pela frente, você pode usar o comando --no-parent,

que limita o wget a baixar somente os arquivos de que ele necessita, sem baixar todos os arquivos que

estiverem em determinada pasta.

Outras opções úteis

-m: Permite você fazer o download de toda a estrutura do site, de modo que o download fique da mesma

forma que o original. -m é um atalho para as opções: -N -r -l inf –no-remove-listing.

-l ou --level: Permite definir a profundidade de "extração" do comando -r

-k ou --convert-links: Aponta os links para os arquivos locais, já baixados.

-p ou --page-requisites: Pega todos os arquivos necessários para a exibição de uma página.

Bom, é isso. Espero que esse tutorial também seja bastante útil para vocês.

Fonte: Geek to Live: Mastering Wget