wget递归/镜像选项未遵循链接

时间:2019-02-19 16:36:09

标签: shell wget

此刻我正在尝试镜像一个网站。 wget似乎做得很好,但是在某些页面上却无效。

查看manual命令

wget -r https://www.gnu.org/

应下载GNU页面。它实际上做到了。但是,如果我使用其他页面,例如personal website的首页,则该页面不再起作用。

wget -r https://jlnostr.de

index.html已下载,但是CSS / JS都没有提及递归下载。下载的全部是index.html

我尝试使用-U选项设置User-Agent,但这也无济于事。 是否缺少某个选项,导致wget在index.html之后停止?

更新:我也尝试过--mirror选项,该选项也无法正常工作并显示相同的行为。

1 个答案:

答案 0 :(得分:3)

您的网站通过HTML中的<meta>标签使用一种相对鲜为人知的机器人控制形式。您可以详细了解here。 Wget将正确遵守此机械手指令中的说明。如果您尝试递归下载网站时仔细观察Wget的调试输出,就可以看到这种情况:

  

jlnostr.de/index.html中没有关注:1

现在,不幸的是,除非您是开发人员之一并且知道代码库,否则这不是一个很有帮助的信息。在这种情况下,我将尝试将消息更新为更清晰的内容。正是由于robots.txt文件导致此类情况发生时我们的处理方式。

无论如何,修复很简单,请禁用漫游器解析。虽然在访问自己的网站时可以这样做,但请他人使用Web服务器时要多加注意。您需要的完整命令是:

$ wget -r -erobots=off https://jlnostr.de

编辑:按照承诺,添加了一条改进的消息。参见here。现在可以打印:

  在jlnostr.de/index.html中找到

no-follow属性。将不会点击此页面上的任何链接