wget não está resolvendo links relativos corretamente?

1

De volta ao básico. Eu tenho uma web estática onde os links são tipicamente relativos.

Tudo funciona bem nos navegadores e no rastreador do Google, mas wget --spider resolve os links relativos à raiz do site.

Ou seja, em uma página em /foo/bar.html , um link <a href="test.html"> é resolvido como /test.html , em vez de /foo/test.html .

Minha pergunta é: Esqueci / ignorei algo básico em como os links HTML funcionam ou wget --spider está resolvendo os URIs errado?

A especificação HTML diz que, se não houver nenhum elemento base , o documento atual é a base.

Existe este problema de wget mas deve ser corrigido na minha versão.

$ wget --version
GNU Wget 1.19.4 built on linux-gnu.

-cares +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls 
+ntlm +opie +psl +ssl/openssl

Meu comando é:

wget --spider --convert-links -r -p --level 1 -E --user-agent=crawlerTest http://www.zizka.ch/
    
por Ondra Žižka 01.08.2018 / 01:42

1 resposta

0

Eu geralmente uso essas opções quando quero spider um site usando wget :

$ wget -r -l4 –spider -D unix.stackexchange.com https://unix.stackexchange.com/

Isso diz wget para recursivamente ( -r ) aranha ( -spider ) até 4 níveis de profundidade ( -l4 ). A opção -D informa wget para seguir apenas links que se enquadram neste domínio.

A execução desta será assim:

$ timeout 1 wget -r -l4 –spider -D unix.stackexchange.com https://unix.stackexchange.com/
--2018-07-31 20:28:40--  http://xn--spider-vg0c/
Resolving xn--spider-vg0c (xn--spider-vg0c)... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address ‘xn--spider-vg0c’
--2018-07-31 20:28:40--  https://unix.stackexchange.com/
Resolving unix.stackexchange.com (unix.stackexchange.com)... 151.101.65.69, 151.101.193.69, 151.101.129.69, ...
Connecting to unix.stackexchange.com (unix.stackexchange.com)|151.101.65.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 106032 (104K) [text/html]
Saving to: ‘unix.stackexchange.com/index.html’

unix.stackexchange.com/index.html               100%[====================================================================================================>] 103.55K  --.-KB/s    in 0.1s

2018-07-31 20:28:40 (1.02 MB/s) - ‘unix.stackexchange.com/index.html’ saved [106032/106032]

Loading robots.txt; please ignore errors.
--2018-07-31 20:28:40--  https://unix.stackexchange.com/robots.txt
Reusing existing connection to unix.stackexchange.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 2148 (2.1K) [text/plain]
Saving to: ‘unix.stackexchange.com/robots.txt’

unix.stackexchange.com/robots.txt               100%[====================================================================================================>]   2.10K  --.-KB/s    in 0s

2018-07-31 20:28:40 (228 MB/s) - ‘unix.stackexchange.com/robots.txt’ saved [2148/2148]
    
por 01.08.2018 / 02:27

Tags