如何从archive.org Wayback Machine 下载网站?

use*_*520 119 web archiving

我想在 archive.org 获取给定网站的所有文件。原因可能包括:

  • 原作者没有存档自己的网站,现在下线了,我想用它做一个公共缓存
  • 我是某个网站的原作者,丢失了一些内容。我想恢复它
  • ...

我怎么做 ?

考虑到 archive.org 回溯机器非常特殊:网页链接不是指向档案本身,而是指向可能不再存在的网页。客户端使用 JavaScript 来更新链接,但是像递归 wget 这样的技巧是行不通的。

Tob*_*ier 89

我尝试了不同的方法来下载一个网站,最后我找到了由 Hartator 构建的回归机器下载器(所以所有的学分都归他所有),但我根本没有注意到他对这个问题的评论。为了节省您的时间,我决定在此处添加 wayback_machine_downloader gem 作为单独的答案。

位于http://www.archiveteam.org/index.php?title=Restoring的站点列出了从 archive.org 下载的这些方法:

  • Wayback Machine Downloader,Ruby 中的小工具,用于从 Wayback Machine 下载任何网站。免费和开源。我的选择!
  • Warrick - 主站点似乎已关闭。
  • Wayback 下载器,该服务可以从 Wayback Machine 下载您的站点,甚至可以为 Wordpress 添加插件。不免费。

  • 2018 年 10 月,Wayback Machine Downloader 仍然有效。 (3认同)
  • 我还用php编写了一个“wayback下载器”,下载资源,调整链接等:https://gist.github.com/divinity76/85c01de416c541578342580997fa6acf (2认同)

use*_*520 25

这可以使用bash shell 脚本与wget.

这个想法是使用回程机的一些URL 功能

  • http://web.archive.org/web/*/http://domain/*http://domain/递归列出所有保存的页面。它可用于构建要下载的页面索引并避免启发式方法来检测网页中的链接。对于每个链接,还有第一个版本和最后一个版本的日期。
  • http://web.archive.org/web/YYYYMMDDhhmmss*/http://domain/page将列出http://domain/pageYYYY 年的所有版本。在该页面中,可以找到指向版本的特定链接(带有确切的时间戳)
  • http://web.archive.org/web/YYYYMMDDhhmmssid_/http://domain/pagehttp://domain/page在给定的时间戳返回未修改的页面。注意id_令牌。

这些是构建脚本以从给定域下载所有内容的基础知识。

  • 您应该真正使用 API,而不是 https://archive.org/help/wayback_api.php 维基百科帮助页面是针对编辑者的,而不是针对普通大众的。因此该页面专注于图形界面,这既已被取代,又不足以完成此任务。 (8认同)
  • 直接获取 URL 可能会更容易(例如 [`http://web.archive.org/web/199​​81202230410/http://www.google.com/`](http://web.archive .org/web/199​​81202230410/http://www.google.com/)) 并将 `id_` 添加到“日期数字”的末尾。然后,您会得到类似 [`http://web.archive.org/web/199​​81202230410id_/http://www.google.com/`](http://web.archive.org/web/199​​81202230410id_/ http://www.google.com/)。 (2认同)

jco*_*and 9

您可以使用 轻松完成此操作wget

wget -rc --accept-regex '.*ROOT.*' START
Run Code Online (Sandbox Code Playgroud)

哪里ROOT是网站的根网址,START是起始网址。例如:

wget -rc --accept-regex '.*http://www.math.niu.edu/~rusin/known-math/.*' http://web.archive.org/web/20150415082949fw_/http://www.math.niu.edu/~rusin/known-math/
Run Code Online (Sandbox Code Playgroud)

请注意,您应该绕过 Web 存档的STARTURL包装框架。在大多数浏览器中,您可以右键单击页面并选择“仅显示此框架”。

  • 这实际上对我有用,尽管我删除了 --accept-regex 部分,否则不会下载整个页面 (3认同)

Nem*_*emo 5

有一个专门为此目的设计的工具,Warrick:https : //code.google.com/p/warrick/

它基于 Memento 协议。

  • 就我设法使用它(2017 年 5 月)而言,它只是恢复了 archive.is 所保存的内容,而几乎忽略了 archive.org 中的内容;它还尝试从 Google/Yahoo 缓存中获取文档和图像,但完全失败。自从 Google Code 关闭以来,Warrick 在 GitHub 上被克隆了几次,也许那里有一些更好的版本。 (4认同)