要通过Wayback Machine保存单个页面,我可以转到:


http://web.archive.org/save/https://somewebsite.example.com/

如何通过Wayback Machine递归归档网站?


有一些项目,例如wayback-machine-downloader,但我正在寻找一个功能,该功能允许我上传网站递归。

#1 楼

由于Wayback Machine不提供此功能,因此我找到了一些解决方法。



首先,使用wget镜像网站,例如

wget -m https://example.com/



然后使用curl来存档所有已下载页面。

find . -name "*.html" -exec curl -v "https://web.archive.org/save/https://{}" ';'


注意:您可以将.html更改为.php,或包含某些类型的文件。



评论


如果该站点不使用扩展名(例如html或php-已设置SE),那么如何调整命令?

– d-b
18年7月22日在8:41

您可以将-name“ * .html”更改为-type f以包含所有文件。

– Kenorb
18年7月22日在12:55



如何使用查询参数?

–数学
19 Mar 9 '19 at 18:29

它似乎不再起作用:打印429个请求过多

– simplegamer
20 May 30 '23:40

--convert-links参数也可能有用-前者使链接相对;后者使链接相对。这确实需要将域URL添加到“ save / https:/// domain”中,但是当站点不使用绝对URL时会有所帮助。

–模型垫
20年8月1日在9:37

#2 楼

如果您希望归档小型网站,则归档团队将维护一个IRC bot ArchiveBot,您可以在其中请求抓取网站。然后,存档团队将已爬网的页面提交到Internet存档的Wayback Machine。

评论


这是非常有用的。

–人
19-10-20在19:39

#3 楼

Wayback Machine无法提供提交整个网站的方法,只能提供一个页面。他们的Wayback Machine常见问题解答有两点涉及到这一点:

我可以将页面添加到Wayback Machine中吗?
在https://archive.org/web上,您可以使用“立即保存页面”功能可以一次保存特定页面。当前,它不会将URL添加到任何将来的爬网中,也不会保存超过一页的内容。它不会保存多个页面,目录或整个网站。



我如何将我的网站包含在Wayback Machine中?
我们的许多存档网络数据来自我们自己的爬网或Alexa Internet的爬网。两个组织都没有“立即抓取我的网站!”提交过程。 Internet存档的爬网往往会找到与其他站点链接良好的站点。确保我们找到您的网站的最佳方法是确保它包含在联机目录中,并且类似/相关的网站链接到您。


评论


这不是问题的答案。仅仅因为没有官方的方法可以完成任务。实际上,编写一个递归添加链接的脚本应该很容易。

– d-b
18年4月12日在13:04



@ d-b,kenorb的答案似乎是您想要的。顺便说一句,此答案目前对我来说更有用,因为我只希望WaybackMachine现在为我捕获一页。

–cp.engr
18年5月6日在17:21

#4 楼

在archive.org上的这篇文章还建议了一项付费服务​​,该服务将根据您的需要为您进行抓取:



注册Archive-It帐户

存档-它是Internet档案库提供的一项订阅服务,使您无需任何技术专业知识即可运行自己的爬网项目。告诉我们要进行爬网的内容以及爬网的频率,然后我们执行爬网,并将结果放入Wayback Machine中。


这可能不是您想要的,但对于对于某些企业,此服务可能会有用。我认为这有助于资助archive.org,否则它是免费的。