Wget – usando o Linux para copiar um site inteiro, uma parte dele ou apenas tipos de arquivos específicos

Olá! Decidi fazer este tutorial como um super resumo dos vários artigos que li ensinando como fazer download de sites inteiros com o Linux sem ser bloqueado pelos servidores de hospedagem. Ensino também algumas manhas que estão escondidas no manual do wget e não são mencionadas na maioria dos artigos que você irá encontrar em outros lugares.

Existem vários motivos do porque você queira fazer o download de um site inteiro. Para o usuário do Linux o jeito mais fácil e ágil é usar o comando wget, que é uma ferramenta de download de arquivos por linha de comando que já vem instalada em praticamente todas as distribuições.

O primeiro passo é acessar o terminal de comandos com ctrl+alt+t e criar uma pasta para ser a base dos seus downloads (um comando por linha):

mkdir “Download do site foo”

cd “Download do site foo”

AGORA É SÓ USAR O SEGUINTE COMANDO:

wget -r -p -E –execute=robots=off –limit-rate=100k –convert-links –random-wait -U mozilla http://www.foo.etc

EXPLICANDO AS OPÇÕES:

-r: Recursivo, baixa tudo o que estiver linkado dentro do domínio informado. Veja que mesmo se você informar http://www.foo.etc/algumacoisa o wget irá baixar tudo em http://www.foo.etc, incluindo http://www.foo.etc/coisaquenaoquero porque ele segue todos os links dentro do site. Para baixar apenas o que está em /algumacoisa veja abaixo em OPÇÕES ADICIONAIS.

-p: Baixa todos os tipos de arquivo (imagens, css, rss, pdf, etc). Não utilize se for baixar apenas um tipo específico de arquivo (ver abaixo em OPÇÕES ADICIONAIS).

-E: Adquire e grava a extensão correta dos arquivos. Sem essa opção uma grande parte dos arquivos será gravada sem extensão.

–execute=robots=off: Não age como se fosse um robot/tracker/spider, ou seja, evita seguir as instruções do arquivo remoto robots.txt porque geralmente os sites somente aceitam os rastreadores do Google e outros buscadores mais comuns, e também porque este arquivo pode limitar quais pastas e/ou arquivos poderemos baixar.

–limit-rate=100k: Limita o download a 100kb/s ou outra velocidade-limite que você quiser para não atrapalhar sua navegação em outros sites. Você pode usar b para bytes/s, k para kilobytes/s ou m para megabytes/s.

–convert-links: Após o download o wget irá converter todos os links para funcionarem na cópia local ou invés de apontar para o original na web, assim você poderá navegar no site mesmo sem conexão com a internet.

–random-wait: Faz pausas aleatórias entre os acessos aos arquivos para evitar que seu acesso seja bloqueado pelo servidor do site. Servidores não gostam que trackers e robots “chupem” seus sites, então essa opção os engana para achar que é um humano que está acessando.

-U mozilla: Indica para o site que o acesso está sendo feito com o navegador Mozilla, evitando que ele detecte o uso wget. Mais uma garantia para que seu acesso não seja bloqueado pelo servidor do site.

OPÇÕES ADICIONAIS:

-c: Continua um download interrompido. Use junto com a opção –no-clobber.

–no-clobber: Não sobrescrever arquivos já existentes. É útil no caso de você precisar continuar um download interrompido.

-np: Para quando você quiser baixar somente uma área do site, como por exemplo você quer apenas o que está em http://www.foo.etc/algumacoisa. Veja que, se usar com a opção -r, ele copiará também o que estiver em http://www.foo.etc/algumacoisa/maiscoisas. Se quiser restringir para apenas /algumacoisa e nada mais, retire a opção -r.

-A “.ext”: Copia apenas os arquivos com a extensão informada. Por exemplo, se quiser apenas (e todas) as imagens JPG utilize -A “.jpg”.

–timeout=30: Define o tempo máximo para esperar por um arquivo. Isso vai evitar que o wget fique “travado” em um arquivo que não pode ser baixado. Como o timeout (tempo esgotado) padrão do wget é de 900 segundos, definir para 30 segundos mais ou menos é melhor. Se em 30 segundos o arquivo não começar a baixar, ele será ignorado e o wget passará para o próximo.

É isso aí! Para mais opções consulte o manual online do wget ou com o comando man wget.

Deixe um comentário

Crie um site como este com o WordPress.com
Comece agora