我正在尝试递归下载http://ccachicago.org
,并且正在下载一个文件,即根index.html
文件。
我已经查看了使用 wget 递归下载并开始使用推荐的-e robots=off
,但它的行为仍然相同。
我如何使用wget
或其他工具下载该网站的副本?
这是因为 wget 默认只在您启动时使用的主机名内进行递归下载。
http://ccachicago.org发出重定向到http://www.ccachicago.org。由于所有进一步的链接都在 下www.ccachicago.org
,wget 会将这些链接视为站外链接,不会跟踪它们。
这里最简单的解决方案当然是从wget -r http://www.ccachicago.org
.
您还可以将 www.ccachicago.org 添加到要关注的域列表中:
wget -r -D www.ccachicago.org http://ccachicago.org
Run Code Online (Sandbox Code Playgroud)
将来,您可以通过添加调试标志来找到此类信息。当我这样做时,我得到了
Deciding whether to enqueue "http://www.ccachicago.org/".
This is not the same hostname as the parent's (www.ccachicago.org and ccachicago.org).
Decided NOT to load it.
Redirection "http://www.ccachicago.org/" failed the test.
Run Code Online (Sandbox Code Playgroud)
你问wget
到做一个递归的下载http://ccachicago.org
,但这个网址不提供任何直接的内容。相反,它只是重定向到http://www.ccachicago.org
(您还没有告诉wget
要递归获取)。
如果您告诉wget
下载正确的 URL,它将起作用:
wget -r -e robots=off http://www....
Run Code Online (Sandbox Code Playgroud)