指定 --convert-links 时 wget 无法正确转换 URL

指定 --convert-links 时 wget 无法正确转换 URL

根据手册页,当我指定--convert-linkswget 时:

下载完成后,对文档中的链接进行转换,使其适合本地查看[...]注意,只有下载结束时Wget才能知道哪些链接被下载了。因此,-k 完成的工作将在所有下载结束时执行。

假设我做了类似的事情wget --convert-links http://stackoverflow.com。这个网站太大了,我可能永远无法完成所有内容的下载。在这种情况下,我的链接将永远不会被转换吗?

当我在本地运行此命令时/tmp/wget,我看到一个名为和stackoverflow.com等文件的目录。但是,当我加载索引页面并将鼠标悬停在游览链接上时,它会将我带到, 而不是(实际文件位置)。index.htmltour.htmlfile:///tour.htmlfile:///tmp/wget/stackoverflow.com/tour.html

答案1

你唯一的问题似乎是:

在这种情况下,我的链接将永远不会被转换吗?

我猜不会。您可以在大小有限的分区上尝试此操作,并查看 wget 在空间不足时执行的操作(或使用该--quota选项,大概它仍会随之转换)。

我可以理解为什么这是这个策略。如果这是即时完成的,那么我们将必须仔细检查下载的每个项目的每个文档。考虑:

  • A.html 已下载。
  • B.html 已下载,现在检查 A.html 的链接。
  • C.html 已下载,现在检查 A.html 和 B.html 的链接。
  • ...等等。

相反,大概会保留一份清单,然后最后扫描所有文件一次。当然,我的即时方法可以通过保留所有链接的索引来改进,但我仍然认为它会慢几个数量级 -并且需要更频繁地写入磁盘。 您通常会重写数十次或数百次,而不是保存文件,然后在最后更改一次。

相关内容