Baixe um site inteiro com wget mesmo se houver restrições

O que é wget?

Nada melhor que Wikipedia para explicar em que consiste esta ferramenta:

GNU Wget é uma ferramenta de software livre que permite o download de conteúdo de servidores web de forma simples. Seu nome deriva de World Wide Web (w), e de "get" (em inglês get), que significa: get from the WWW.

Atualmente ele suporta downloads usando os protocolos HTTP, HTTPS e FTP.

Entre os recursos mais destacados que oferece wget existe a possibilidade de download fácil de espelhos complexos recursivamente, conversão de links para exibir conteúdo HTML localmente, suporte para proxies ...

De wget Já conversamos bastante aqui no DesdeLinux. De fato ya Tínhamos visto como fazer o download de um site completo com wget, o problema é que hoje em dia os administradores nem sempre permitem que alguém baixe o site inteiro assim, não é algo que eles gostem muito ... e, obviamente, eu entendo. O site está na internet para consultá-lo, o leitor acessa conteúdos de seu interesse e o administrador do site se beneficia bem financeiramente (por meio de publicidade), como visitas, etc. Se o leitor baixar o site para seu computador, ele não terá que ficar online para consultar uma postagem anterior.

Baixar um site com wget é tão simples quanto:

wget -r -k http://www.sitio.com

  • -r : Isso indica que todo o site será baixado.
  • -k : Indica que os links do site baixado serão convertidos para serem vistos em computadores sem internet.

Agora, as coisas ficam complicadas quando o administrador do site dificulta para nós ...

Que restrições podem existir?

O mais comum que encontramos é que o acesso ao site só é permitido se você tiver um UserAgent reconhecido. Em outras palavras, o site reconhecerá que o UserAgent que está baixando tantas páginas não é um dos "normais" e, portanto, fechará o acesso.

Além disso, por meio do arquivo robots.txt, você pode especificar que wget (como um monte de aplicativos semelhantes) Você não poderá baixar como o cliente deseja, bem ... bem, o administrador do site deseja, ponto final 😀

Como contornar essas restrições?

Para o primeiro caso, vamos estabelecer um UserAgent para wget, podemos fazer isso com a opção -Agente de usuário, aqui eu mostro como:

wget --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" -r http://www.site.com -k

Agora, para contornar o robots.txt, basta excluir esse arquivo, ou seja, deixe o wget baixar o site e não se preocupe com o que o robots.txt diz:

wget --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" -r http://www.site.com -k -e robots = off

Agora ... existem outras opções ou parâmetros que podemos usar para enganar ainda mais o site, por exemplo, indicar que entramos no site do Google, deixo aqui a linha final com tudo:

wget --header = "Aceitar: text / html" --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" --referer = http: / /www.google.com -r http://www.site.com -e robots = off -k

Não é obrigatório que o site contenha http: // www no início, pode ser um diretamente http: // como por exemplo este Geometria Traço

Posso fazer isso?

Depende ... você sempre tem que ver dos dois pontos de vista, do administrador do site, mas também do leitor.

Por um lado, como administrador, não gostaria que tirassem uma cópia HTML do meu site desse jeito, está aqui online não por prazer, para o gozo de todos ... o nosso objetivo é ter conteúdos interessantes disponível, que você pode aprender.

Mas, por outro lado ... tem usuários que não têm internet em casa, que gostariam de ter toda a seção de tutoriais que colocamos aqui ... eu me coloco no lugar deles (na verdade estou, porque em casa não tenho internet) e não é agradável estar no computador, tendo um problema ou querendo fazer algo e não poder porque não tem acesso à rede.

Se está certo ou errado fica por conta de cada administrador, da realidade de cada um ... o que mais me preocuparia seria o consumo de recursos que o wget causa no servidor, mas com um bom sistema de cache deve ser suficiente para o servidor não Sofra.

Internet

Conclusão

Peço que não comece a baixar agora. DesdeLinux KKKKK!! Por exemplo, minha namorada me pediu para baixar alguns cheats do Geometry Dash (algo como Geometry Dash Cheats), não vou baixar o site inteiro, mas vou apenas abrir a página desejada e salvar em PDF ou HTML ou algo assim, isso é o que eu recomendaria a você.

Se você tiver algum tutorial DesdeLinux que você deseja salvar, salve em seus favoritos, como HTML ou PDF... mas, para um ou dois tutoriais não é necessário gerar tráfego e consumo excessivo no servidor 😉

Bem, nada, espero que seja útil ... Saudações


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   eliotime3000 dito

    Dica interessante. Eu não sabia que você poderia fazer isso.

  2.   Emmanuel dito

    Foi expressamente o que me aconteceu duas vezes, e certamente foi por causa disso. Porém, era por razões de velocidade (casa x universidade) que eu queria acessar o conteúdo dessa forma. 😛
    Obrigado pelo conselho. Saudações.

  3.   Gerardo dito

    Ótimo para aqueles de nós que não têm internet. Certamente bons tutoriais.

  4.   Quinoto dito

    Artigo muito interessante.
    Pergunta: como isso pode ser feito para sites https?
    Onde é necessário autenticar por nome de usuário e senha e também uma grande parte do site é escrita em java?
    Cumprimentos e obrigado

  5.   Gelibássio dito

    e onde os downloads são salvos?

    1.    Gelibássio dito

      Eu me respondo: na pasta pessoal. Mas agora a questão é ... você pode de alguma forma dizer a ele onde baixar o conteúdo?

      graciass

      1.    Daniel dito

        Acho que primeiro você acessa a pasta onde deseja salvá-lo e depois executa o wget

  6.   cristian dito

    consulta ... e haverá algo assim para "clonar" um banco de dados

  7.   xphnx dito

    Tenho uma curiosidade, vocês recebem dinheiro para colocar esses links em webs de micro-nichos?

  8.   Rupert dito

    Bendito wget ... foi assim que baixei muito pornografia nos meus tempos de porco xD

  9.   lunar dito

    boa dica. obrigado

  10.   NULL dito

    Muito bom, gostei da parte sobre contornar as restrições.

  11.   Franz dito

    Obrigado por essa joia:
    wget –header = »Aceitar: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-image-3.6.11-gnu-3-generic_3.6.11-gnu-3.rt25.precise1_i386.deb -k -e robots = off

    wget –header = »Aceitar: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-headers-3.6.11-gnu-3_3.6.11-gnu-3.rt25.precise1_all.deb -k -e robots = off

    wget –header = »Aceitar: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-headers-3.6.11-gnu-3-generic_3.6.11-gnu-3.rt25.precise1_i386.deb -k -e robots = off

  12.   Palomares dito

    Muito interessante.

  13.   oscar meza dito

    wget é uma daquelas ferramentas ultra-poderosas, com um pouco de programação de terminal você pode fazer seu próprio robô no estilo google para começar a baixar o conteúdo das páginas e armazená-lo em seu próprio banco de dados e fazer o que quiser depois com esses dados.

  14.   Carlos G. dito

    Acho esta ferramenta muito interessante, nunca tinha prestado atenção aos seus parâmetros, gostaria de saber se é possível baixar conteúdo de uma página «X» na qual é necessário estar logado para entrar, e se está em algum lugar neste site «X» há algum vídeo, também o descarregaria mesmo que pertença a um CDN diferente do site «X»?

    Se isso fosse possível, como um site se protege contra essa ferramenta?

    Saudações!

  15.   Eric Zanardi dito

    Boa noite:

    Estou escrevendo para você para uma consulta. Baixei com o último comando deste artigo quase 300MB de informação .. arquivos .swf, .js, .html, da página http://www.netacad.com/es com meu usuário de um pequeno curso que fiz em Maracay, Venezuela.

    Minha pergunta é ... Será possível ver as animações em flash?

    Eu entro em "Configuração Global" e as opções que não mostram nenhuma me permitem configurar.

    Agradeço qualquer resposta.

    Agradecemos antecipadamente!

    1.    ADX dito

      Eu tenho o mesmo detalhe, os .swf são baixados pela metade, se você conseguir pular, me compartilhe as informações. A última vez que tentei foi usar um spider para obter todos os links do netacad, mas mesmo assim o .swf não termina o download como deveria

  16.   alexander.hernandez dito

    muito bom !!! obrigado.

  17.   Ana dito

    Olá, obrigado pelo seu tuto. Tento baixar um blog no qual sou convidado, com uma senha, para poder ler de casa sem conexão. Utilizo este programa e, obviamente, tenho a senha do blog (wordpress), mas não sei como proceder. Você poderia me mostrar?
    Agradecemos antecipadamente e cumprimentos!

  18.   Fran dito

    que ótimo post !!!

  19.   Santiago dito

    excelente tem me servido muito

  20.   Fran dito

    Estou logado em um site com vídeos do vimeo embutidos e não há como baixá-los .. parece que o vimeo os tem protegidos. Alguma ideia??