espelhar um site com wget que somente resposta com gzip

2

Estou tentando espelhar um site, mas o servidor responde apenas com páginas gzip, portanto, o wget não será recursivo. Eu procurei por aí e há algumas referências a um patch para adicionar suporte ao gzip para wget, mas eles parecem estar desatualizados. Há alguma maneira de fazer isso? Se não, eu estava pensando em fazer proxy reverso no nginx.

    
por jpiasetz 13.12.2012 / 07:06

2 respostas

2

Você tem 4 maneiras:

  1. wget uma página, gunzip e processa novamente a partir do html ... iterar até terminar:

    wget -m http://example.org/page.html
    find . -name \*gz -exec gzip -d {} \;
    find . -name \*html -exec wget -M -F {} \;</code></pre>
    

    Isso será lento, mas deve funcionar.

  2. Instale o Privoxy e configure-o para descompactar as páginas solicitadas:

    +prevent-compression

    Prevent the website from compressing the data. Some websites do that, which is a problem for Privoxy when built without zlib support, since +filter and +gif-deanimate will not work on compressed data. Will slow down connections to those websites, though.

  3. O Privoxy ou outro proxy também pode obter as páginas compactadas e entregar a cópia não compactada ao cliente; Google para isso.

  4. Meu wget não enviará o cabeçalho "Accept-Encoding: gzip" que solicita gzip content ... Verifique por que o seu faz isso. Talvez você tenha um proxy que está adicionando isso? Você também pode usar Privoxy para remover esse cabeçalho.

por 13.12.2012 / 14:14
1

Uma resposta tardia, mas para fins de referência na Web:

wget -O - $URL | zcat | wget -B $URL -i - -F -c -T 45 -k -r --page-requisites

"Bem conhecido" para armazenamento em cache da documentação. As opções Tempo limite / Repetição (como com -c e -T) podem ser úteis no que diz respeito a "Desvios de links" intermitentes em redes sem fio. Todas as opções são opcionais, claro.

    
por 21.08.2017 / 19:58

Tags