使用 wget 递归下载子文件夹--no-parent 显然不起作用

使用 wget 递归下载子文件夹--no-parent 显然不起作用

我需要一些关于 XUL 的文档,但我大部分时间都无法访问互联网。因此,我尝试下载Mozilla 教程使用以下命令:

wget --no-parent -r -l 2 -p -k https://developer.mozilla.org/en/XUL_Tutorial

我原本打算下载该https://developer.mozilla.org/en/XUL_Tutorial页面及其子页面(例如https://developer.mozilla.org/en/XUL_Tutorial/Install_Scripts)。但是,即使我传递了--no-parent标志,它仍然不断获取诸如这样的页面https://developer.mozilla.org/index.php?title=Special:Userlogin&returntotitle=en%2FXUL+Tutorial%2FInstall+Scripts

我不明白为什么会发生这种情况。我怎样才能实现我想要的行为?

答案1

您需要在 URL 末尾添加斜杠。

答案2

遇到了类似的问题:

wget -r -l1 --no-parent -nH "https://www.website.com/parent/directory/"

https我认为vs.存在问题http。我更新$HOME/.wgetrc为:

header = Accept-Encoding: none
header = Accept-Language: en-us,en;q=0.5
header = Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
header = Connection: keep-alive
user_agent = Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
referer = http://www.google.com/
robots = off

然后改为httpshttp

wget -r -l1 --no-parent -nH "http://www.website.com/parent/directory/"

程序wget不再从指定目录层次结构之外创建文件夹(或检索文件)。

答案3

我必须禁用 gzip 压缩才能使其正常工作。我还更改了用户代理,因为某些页面禁止 wget。因此,这是我在 .wgetrc 中输入的内容:

标头 = 接受编码:无

用户代理 = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

在这里工作得很好。

相关内容