从 Internet Archive Wayback Machine 下载整个网站。
您需要在系统上安装 Ruby (>= 1.9.2) - 如果您还没有安装它。然后运行:
gem install wayback_machine_downloader
提示:如果遇到权限错误,可能需要在此命令前面添加sudo
。
使用您要检索的网站的基本 URL 作为参数运行 wayback_machine_downloader(例如,http://example.com):
wayback_machine_downloader http://example.com
它将把 Wayback Machine 上存在的每个文件的最新版本下载到./websites/example.com/
。它还将重新创建目录结构并自动创建index.html
页面,以便与 Apache 和 Nginx 无缝协作。所有下载的文件都是原始文件,而不是 Wayback Machine 重写版本。这样,URL 和链接结构就和以前一样了。
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
选修的。默认情况下,Wayback Machine Downloader 会将文件下载到./websites/
后跟网站的域名。您可能想使用此选项将文件保存在特定目录中。
例子:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
选修的。此选项将下载给定网站的所有时间戳/快照。它将使用每个快照的时间戳作为目录。
例子:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
选修的。您可能需要提供起始时间戳以将备份锁定到网站的特定版本。时间戳可以在常规 Wayback Machine 网站的 URL 中找到(例如,https://web.archive.org/web/20060716231334/http://example.com)。还可以使用年(2006)、年+月(200607)等,可以与To Timestamp结合使用。 Wayback Machine Downloader 将仅获取指定时间戳或之后的文件版本。
例子:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
选修的。您可能需要提供时间戳以将备份锁定到网站的特定版本。时间戳可以在常规 Wayback Machine 网站的 URL 中找到(例如,https://web.archive.org/web/20100916231334/http://example.com)。还可以使用年(2010)、年+月(201009)等,可以与From Timestamp结合使用。 Wayback Machine Downloader 将仅获取指定时间戳或之前的文件版本。
例子:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
选修的。如果您只想检索与所提供的 url 完全匹配的文件,则可以使用此标志。它将避免下载任何其他内容。
例如,如果您只想下载 example.com 的 html 主页文件:
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
选修的。您可能想要检索某种类型的文件(例如,.pdf、.jpg、.wrd...)或位于特定目录中的文件。为此,您可以提供--only
标志和字符串或正则表达式(使用“/regex/”符号)来限制 Wayback Machine Downloader 将下载的文件。
例如,如果您只想下载特定my_directory
内的文件:
wayback_machine_downloader http://example.com --only my_directory
或者,如果您想下载所有图像而无需其他任何内容:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
选修的。您可能想要检索不属于特定类型(例如.pdf、.jpg、.wrd...)或不在特定目录中的文件。为此,您可以提供带有字符串或正则表达式(使用“/regex/”符号)的--exclude
标志来限制 Wayback Machine Downloader 将下载的文件。
例如,如果您想避免下载my_directory
内的文件:
wayback_machine_downloader http://example.com --exclude my_directory
或者,如果您想下载除图像之外的所有内容:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
选修的。默认情况下,Wayback Machine Downloader 将自身限制为以 200 OK 代码响应的文件。如果您还需要错误文件(40x 和 50x 代码)或重定向文件(30x 代码),您可以使用--all
或-a
标志,Wayback Machine Downloader 除了 200 个 OK 文件之外还会下载它们。它还将保留默认删除的空文件。
例子:
wayback_machine_downloader http://example.com --all
-l, --list
它只会显示要下载的文件及其快照时间戳和 URL。输出格式为 JSON。它不会下载任何东西。它对于调试或连接到另一个应用程序很有用。
例子:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
选修的。指定要考虑的最大快照页数。平均每页有 150,000 个快照。 100 是默认的最大快照页面数,对于大多数网站来说应该足够了。如果您想下载非常大的网站,请使用更大的数字。
例子:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
选修的。指定要同时下载的多个文件的数量。允许显着加快网站的下载速度。默认是一次下载一个文件。
例子:
wayback_machine_downloader http://example.com --concurrency 20
作为替代安装方式,我们有 Docker 镜像!通过以下方式检索 wayback-machine-downloader Docker 镜像:
docker pull hartator/wayback-machine-downloader
然后,您应该能够使用 Docker 映像来下载网站。例如:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
欢迎贡献!只需通过 GitHub 提交拉取请求即可。
运行测试:
bundle install
bundle exec rake test