回归本源。我有一个静态网站,其中的链接通常是相对的。
在浏览器和 Google Crawler 中一切正常,但wget --spider
解析针对站点根目录的相对链接。
也就是说,在 的页面中/foo/bar.html
,链接<a href="test.html">
被解析为/test.html
, 而不是/foo/test.html
。
我的问题是:我是否忘记/忽略了 HTML 链接如何工作的一些基本内容,或者wget --spider
解析 URI 是否错误?
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]