gpt4 book ai didi

shell - wget 递归/镜像选项不遵循链接

转载 作者:行者123 更新时间:2023-12-03 18:40:52 25 4
gpt4 key购买 nike

我目前正在尝试镜像一个网站。 wget似乎很好地完成了这项工作,但是它在某些页面上不起作用。
看着manual , 命令

wget -r https://www.gnu.org/
应该下载 GNU 页面。它确实做到了。但是,如果我使用另一个页面,例如我个人网站的起始页面,这将不再起作用。
wget -r https://my-personal.website
index.html已下载,但没有任何 CSS/JS 更不用说递归下载。下载的只是 index.html .
我尝试使用 -U 设置用户代理选项,但这也无济于事。 是否缺少导致 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
编辑:正如所 promise 的,添加了一条改进的消息。见 here 。它现在打印:

no-follow attribute found in my-personal.website/index.html. Will not follow any links on this page

关于shell - wget 递归/镜像选项不遵循链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com