Usando wget, Qual é o comando certo para obter a versão gzipada em vez do HTML real

15

Eu tropecei no site que fala sobre isso .

Então, ao baixar o site inteiro, obtendo a versão gzipada, qual é o comando correto?

Eu testei esse comando, mas não sei se realmente estamos obtendo a versão gzipped:

wget --header="accept-encoding: gzip" -m -Dlinux.about.com -r -q -R gif,png,jpg,jpeg,GIF,PNG,JPG,JPEG,js,rss,xml,feed,.tar.gz,.zip,rar,.rar,.php,.txt -t 1 http://linux.about.com/
    
por jomnana 17.06.2011 / 16:43

2 respostas

16

Se você solicitar o conteúdo gzip'ed (usando o cabeçalho accept-encoding: gzip, que está correto), então eu entendo que o wget não pode ler o conteúdo. Então você vai acabar com um único arquivo gzipado no disco, para a primeira página que você acertar, mas nenhum outro conteúdo.

i.e. você não pode usar o wget para solicitar conteúdo com gzip e para reciclar todo o site ao mesmo tempo.

Acho que há um patch que permite ao wget suportar essa função, mas não está na versão de distribuição padrão.

Se você incluir o sinalizador -S, poderá saber se o servidor da Web está respondendo com o tipo correto de conteúdo. Por exemplo,

wget -S --header="accept-encoding: gzip" wordpress.com
--2011-06-17 16:06:46--  http://wordpress.com/
Resolving wordpress.com (wordpress.com)... 72.233.104.124, 74.200.247.60, 76.74.254.126
Connecting to wordpress.com (wordpress.com)|72.233.104.124|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: nginx
  Date: Fri, 17 Jun 2011 15:06:47 GMT
  Content-Type: text/html; charset=UTF-8
  Connection: close
  Vary: Accept-Encoding
  Last-Modified: Fri, 17 Jun 2011 15:04:57 +0000
  Cache-Control: max-age=190, must-revalidate
  Vary: Cookie
  X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
  X-Pingback: http://wordpress.com/xmlrpc.php
  Link: <http://wp.me/1>; rel=shortlink
  X-nananana: Batcache
  Content-Encoding: gzip
Length: unspecified [text/html]

A codificação de conteúdo afirma claramente o gzip, no entanto, para o linux.about.com (atualmente),

wget -S --header="accept-encoding: gzip" linux.about.com
--2011-06-17 16:12:55--  http://linux.about.com/
Resolving linux.about.com (linux.about.com)... 207.241.148.80
Connecting to linux.about.com (linux.about.com)|207.241.148.80|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Fri, 17 Jun 2011 15:12:56 GMT
  Server: Apache
  Set-Cookie: TMog=B6HFCs2H20kA1I4N; domain=.about.com; path=/; expires=Sat, 22-Sep-12 14:19:35 GMT
  Set-Cookie: Mint=B6HFCs2H20kA1I4N; domain=.about.com; path=/
  Set-Cookie: zBT=1; domain=.about.com; path=/
  Vary: *
  PRAGMA: no-cache
  P3P: CP="IDC DSP COR DEVa TAIa OUR BUS UNI"
  Cache-Control: max-age=-3600
  Expires: Fri, 17 Jun 2011 14:12:56 GMT
  Connection: close
  Content-Type: text/html
Length: unspecified [text/html]

Ele está retornando texto / html.

Como alguns navegadores mais antigos ainda apresentam problemas com conteúdo codificado por gzip, muitos sites apenas o ativam com base na identificação do navegador. Eles geralmente a desativam por padrão e só a transformam em um quando sabem que o navegador pode suportá-lo - e geralmente não incluem wget nessa lista. Isso significa que você pode achar que o wget nunca retorna conteúdo gzip, mesmo que o site pareça fazer isso para o seu navegador.

    
por 17.06.2011 / 16:53
1

comando simples para obter a página html e comprimi-la ou obter qualquer arquivo e compactado.

$ wget -qO - <url> | gzip -c > file_name.gz

para mais informações sobre a opção. use o comando man.

    
por 25.03.2015 / 04:58

Tags