wget recursive/mirror 选项不跟随链接
wget recursive/mirror option not following links
我正在尝试镜像一个网站。 wget
似乎做得很好,但它在某些页面上不起作用。
查看manual,命令
wget -r https://www.gnu.org/
应该下载 GNU 页面。它确实做到了。但是,如果我使用另一个页面,例如我个人网站的首页,这将不再有效。
wget -r https://my-personal.website
的index.html
是下载的,但是none的CSS/JS更不用说递归下载了。下载的只是 index.html
.
我试过使用 -U
选项设置 User-Agent,但这也无济于事。 是否缺少导致 wget 在 index.html
之后停止的选项?
更新:我也试过 --mirror
选项,它也不起作用并且表现出相同的行为。
您的网站通过 HTML 中的 <meta>
标签使用一种相对鲜为人知的机器人控制形式。您可以阅读更多相关信息 here。 Wget 将正确遵守此机器人指令中的说明。如果您在尝试递归下载网站时仔细查看 Wget 的调试输出,就会看到这种情况:
no-follow in my-personal.website/index.html: 1
现在,不幸的是,除非您是开发人员之一并且了解代码库,否则这不是一个非常有用的消息。在这种情况下,我会尝试更新消息,使其更清晰一些。当由于 robots.txt
文件而发生此类事情时,我们就是这样做的。
无论如何,修复很简单,禁用机器人解析。虽然这在访问您自己的网站时没有问题,但在对其他人执行此操作时请注意网络服务器。您需要的完整命令是:
$ wget -r -erobots=off https://my-personal.website
编辑:正如承诺的那样,添加了一条改进的消息。参见 here。它现在打印:
no-follow attribute found in my-personal.website/index.html. Will not follow any links on this page
我正在尝试镜像一个网站。 wget
似乎做得很好,但它在某些页面上不起作用。
查看manual,命令
wget -r https://www.gnu.org/
应该下载 GNU 页面。它确实做到了。但是,如果我使用另一个页面,例如我个人网站的首页,这将不再有效。
wget -r https://my-personal.website
的index.html
是下载的,但是none的CSS/JS更不用说递归下载了。下载的只是 index.html
.
我试过使用 -U
选项设置 User-Agent,但这也无济于事。 是否缺少导致 wget 在 index.html
之后停止的选项?
更新:我也试过 --mirror
选项,它也不起作用并且表现出相同的行为。
您的网站通过 HTML 中的 <meta>
标签使用一种相对鲜为人知的机器人控制形式。您可以阅读更多相关信息 here。 Wget 将正确遵守此机器人指令中的说明。如果您在尝试递归下载网站时仔细查看 Wget 的调试输出,就会看到这种情况:
no-follow in my-personal.website/index.html: 1
现在,不幸的是,除非您是开发人员之一并且了解代码库,否则这不是一个非常有用的消息。在这种情况下,我会尝试更新消息,使其更清晰一些。当由于 robots.txt
文件而发生此类事情时,我们就是这样做的。
无论如何,修复很简单,禁用机器人解析。虽然这在访问您自己的网站时没有问题,但在对其他人执行此操作时请注意网络服务器。您需要的完整命令是:
$ wget -r -erobots=off https://my-personal.website
编辑:正如承诺的那样,添加了一条改进的消息。参见 here。它现在打印:
no-follow attribute found in my-personal.website/index.html. Will not follow any links on this page