wgetが相対リンクを正しく確認できませんか?

wgetが相対リンクを正しく確認できませんか?

基本に戻ります。リンクは通常、相対的な静的ウェブサイトです。

ブラウザとGoogleクローラではすべてがうまく機能しますが、wget --spider相対リンクはサイトのルートに対して確認されます。

つまり、ページ上の/foo/bar.htmlリンクは代わりに<a href="test.html">確認されます。/test.html/foo/test.html

私の質問は次のとおりですHTMLリンクの仕組みの基本を忘れたり無視していますか?それともwget --spiderURIを誤って解析していますか?

HTML仕様には、要素がない場合、base現在の文書が基礎として使用されることが示されています。

持つこのwgetの問題しかし、私のバージョンでは修正する必要があります。

$ 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

私のコマンドは次のとおりです。

wget --spider --convert-links -r -p --level 1 -E --user-agent=crawlerTest http://www.zizka.ch/

答え1

私は通常、次のようにウェブサイトをクロールするときにこのスイッチを使用しますwget

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

これはwget、再帰(-r)スパイダー(-spider)が最大4段階の深さ(-l4)に達することができることを示しています。このスイッチは、このドメインに属するリンクだけに従うこと-Dを示します。wget

実行すると、次のようになります。

$ 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]

関連情報