Não consigo fazer com que o wget seja recursivo ao espelhar um blog.

0

Eu quero fazer um espelho offline deste blog: link

Estou usando:

wget --recursive --level=0 --span-hosts --no-clobber --page-requisites --html-extension --convert-links --no-parent -e robots=off --wait=4 --random-wait --adjust-extension --no-check-certificate --user-agent=Mozilla http://blogs.gamefilia.com/lord-areg/‍

Mas eu só recebo index.html , não consigo obter nenhum dos subdiretórios ... E preciso de todos eles

Por exemplo:

lord-areg/15-01-2012/47781/boveda-de-articulos-de-silent-hill

lord-areg/01-02-2012/48151/eddie-dombrowski-la-pistola-y-la-pizza-misteriosa

etc.

    
por 830b et 09.05.2016 / 21:21

1 resposta

0

A execução com -d mostra o que está acontecendo:

Location: http://blogs.gamefilia.com/lord-areg [following]
    ....
Deciding whether to enqueue "http://blogs.gamefilia.com/lord-areg".
Going to "" would escape "lord-areg" with no_parent on.
Decided NOT to load it.
Redirection "http://blogs.gamefilia.com/lord-areg" failed the test.

A página redirecionada estava fora da área especificada, por isso, apesar de ter sido recuperada, seu conteúdo não é seguido durante a recursão.

Remover o / final significa que não há redirecionamento, mas, como você encontrou, também significa que o wget não trata lord-areg como um diretório e usa o / anterior, então o site inteiro corresponde a:

Note that, for HTTP (and HTTPS), the trailing slash is very important to ‘--no-parent’. HTTP has no concept of a “directory”—Wget relies on you to indicate what’s a directory and what isn’t. In ‘http://foo/bar/’, Wget will consider ‘bar’ to be a directory, while in ‘http://foo/bar’ (no trailing slash), ‘bar’ will be considered a filename (so ‘--no-parent’ would be meaningless, as its parent is ‘/’).

( 4.3 Limites Baseados no Diretório )

Então você precisa restringir os resultados de alguma outra maneira. -I lord-areg quase funciona, mas irá pular as páginas do formulário /lord-areg?page=1 . Para corresponder a esses também, descreva os URLs necessários em mais detalhes:

--accept-regex '^http:\/\/blogs\.gamefilia\.com\/lord-areg[?/]'
    
por 12.05.2016 / 09:36

Tags