waybackpack
Waybackpack是一个命令行工具,可以让你下载给定URL的整个Wayback Machine存档。
例如,要下载劳工部主页截至1996年(恰好是该网站被首次存档的年份)的所有副本,你可以运行:
waybackpack http://www.dol.gov/ -d ~/Downloads/dol-wayback --to-date 1996
结果:
~/Downloads/dol-wayback/
├── 19961102145216
│ └── www.dol.gov
│ └── index.html
├── 19961103063843
│ └── www.dol.gov
│ └── index.html
├── 19961222171647
│ └── www.dol.gov
│ └── index.html
└── 19961223193614
└── www.dol.gov
└── index.html
或者,仅打印所有已存档快照的URL:
waybackpack http://www.dol.gov/ --list
安装
pip install waybackpack
使用方法
usage: waybackpack [-h] [--version] (-d DIR | --list) [--raw] [--root ROOT]
[--from-date FROM_DATE] [--to-date TO_DATE]
[--user-agent USER_AGENT] [--follow-redirects]
[--uniques-only] [--collapse COLLAPSE] [--ignore-errors]
[--max-retries MAX_RETRIES] [--no-clobber] [--quiet]
[--progress] [--delay DELAY] [--delay-retry DELAY_RETRY]
url
位置参数:
url 你想下载的资源的URL。
选项:
-h, --help 显示此帮助信息并退出
--version 显示程序的版本号并退出
-d DIR, --dir DIR 保存文件的目录。如果该目录不存在,将创建它。
--list 不下载文件,仅打印快照列表。
--raw 以原始状态获取文件,不经过Wayback Machine或waybackpack的任何处理。
--root ROOT 用于提供快照资源的根URL。默认值:'https://web.archive.org'
--from-date FROM_DATE
指示最早快照下载时间的时间戳字符串。应采用YYYYMMDDhhss格式,
但你可以省略尾部的任意位数。例如,'201501'是有效的。
--to-date TO_DATE 指示最晚快照下载时间的时间戳字符串。应采用YYYYMMDDhhss格式,
但你可以省略尾部的任意位数。例如,'201604'是有效的。
--user-agent USER_AGENT
发送给Wayback Machine的请求中的User-Agent头。如果可能,
请包含"waybackpack"短语和你的电子邮件地址。这样,如果你
频繁访问他们的服务器,他们知道该联系谁。默认值:'waybackpack'。
--follow-redirects 跟随重定向。
--uniques-only 仅下载重复文件的第一个版本。
--collapse COLLAPSE archive.org的`collapse`参数。参见:https://github.com/internetarchive/wayback/blob/master/wayback-cdx-server/README.md#collapsing
--ignore-errors 遇到非HTTP错误(例如requests库的ChunkedEncodingError)时
不崩溃。相反,记录错误并继续。参见
https://github.com/jsvine/waybackpack/issues/19
--max-retries MAX_RETRIES
在跳过之前,尝试访问状态码为4XX或5XX的内容的次数。
--no-clobber 如果文件已存在(且大小>0),则不再下载。
--quiet 不在stderr中记录进度。
--progress 打印进度条。静默默认日志记录。
需要安装`tqdm`。
--delay DELAY 每次获取之间暂停X秒。
--delay-retry DELAY_RETRY
每次错误重试之间暂停X秒。
支持
Waypackback使用纯Python编写,仅依赖于requests
,应该可以在任何Python运行的地方工作。需要Python 3.3+。
致谢
非常感谢以下用户发现错误、修正拼写错误和提出有用的功能: