如何保存从一个链接的所有网页

Tim*_*Tim 18 website

我想保存这个网页和它链接到的所有页面。并希望在保存的网页之间具有相同的链接。

有没有一些方法可以代替打开和保存每个链接的页面?

Wuf*_*ers 14

您可以使用wget命令行实用程序做您想做的事情。如果您为其提供该-r选项,它将递归下载网页。例如:

wget -r http://mat.gsia.cmu.edu/orclass/integer/integer.html
Run Code Online (Sandbox Code Playgroud)

这将下载该网页及其链接到的任何内容。您也可以让它只递归一定数量的级别,为此,您只需提供-r一个数字。像这样:

wget -r 5 http://mat.gsia.cmu.edu/orclass/integer/integer.html
Run Code Online (Sandbox Code Playgroud)


小智 11

这个线程现在很旧了,但其他人可能会看它。谢谢你,Wuffers,为我指明了正确的方向,但是,扩展Wuffers 的回答:现代版本的 wget 有许多有用的选项,用于递归链接并将它们修补为本地相关链接,以便您可以导航本地副本的网站。使用 -r 选项进行递归,使用 -k 选项修补本地链接,使用 -H 选项遍历原始域以外的域,使用 -D 选项限制遍历的域,使用 -l 选项限制递归深度,以及 -p 选项以确保遍历的叶子具有正确显示所需的一切。例如,以下将下载一个页面及其立即链接到的所有内容,使其可在本地浏览,

wget -r -l 1 -p -k -H -D domain.com,relateddomain.com http://domain.com/page/in/domain

使用与上述命令类似的命令,我能够将带有外部链接的 wiki 页面的一大块下载到我的本地磁盘上,而无需下载数兆字节的无关数据。现在,当我在浏览器中打开根页面时,我可以在没有 Internet 连接的情况下导航树。唯一令人恼火的是根页面被埋在子目录中,我不得不创建一个顶级重定向页面以方便显示。可能需要一些反复试验才能使其正确。阅读 wget 手册页并进行实验。


RJF*_*ner 6

您可以使用httrack之类的网站爬虫,它是免费的。

来自网站;

[httrack] 允许您从 Internet 下载万维网站点到本地目录,递归构建所有目录,将 HTML、图像和其他文件从服务器获取到您的计算机。HTTrack 安排原始站点的相关链接结构。只需在浏览器中打开“镜像”网站的页面,您就可以逐个链接地浏览该网站,就像在线查看一样。