这是本文档旧的修订版!
目录
Internet Archive(https://archive.org/)专用页面
以下简称为IA
如何使用IA官方命令行工具进行文件下载
安装ia命令行工具(pythone3以上)
这个pip包中包含了python库和命令行工具ia.exe
pip install internetarchive
使用IA命令行工具以网址关键字进行搜索和下载
以STWP网站 的wiki存档项目为例,该网站发起了一个 将数千个wiki网站存档到IA的项目,去该项目的 列表页挑一个已经归档完成的 网站
ia search "fredblue.lautre.net"
将返回搜索到的项目,例如:{“identifier”: “wiki-fredblue.lautre.net_wiki-20230506”} 使用search条件进行下载:
ia download --search "fredblue.lautre.net"
或者使用identifier进行下载
ia download wiki-fredblue.lautre.net_wiki-20230506
将在当前路径下生成一个新的identifier名字的文件夹,并开始下载
批量下载collection
ia上还有很多其它组织/个人上传的文件,可以collection的形式形成组织,这里面可能包含很多items,每个item又可以包含很多个文件。例如ChinaXIV Mirror Project,要对其中的文件进行下载,首先去ia网站搜索该collection,可以把搜索条件限制为collection,搜到之后,进入collection首页,点击 About,在此页面记录其Identifier的值(chinaxivmirror) 获取collection中全部的items,输出到itemlist.txt:
ia search collection:chinaxivmirror --parameters rows:10 --itemlist >itemlist.txt
只获取前100000条记录(注意rows必填,否则报错):
ia search collection:chinaxivmirror --parameters rows:100000
获取到itemlist后,就可以下载:
ia download --itemlist itemlist.txt
下载Wayback Machine网站快照
当一个用户通过某些IA的api,例如Save Page Now,将网站上传到IA之后,IA会有一个自动化流程定期整理所有用户上传数据,并形成一个web archive数据集(warc),这个格式和common crawl的格式相同。这个数据集包含了特定时间点之间所有用户通过Save Page Now上传的网页,因此在IA上对应的collection标记为Restricted,不能直接下载。
IA对特定网站的快照查看,通过wayback machine进行(https://web.archive.org/),该网站有一个类似common crawl cdx索引的索引服务器:https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server,可以对特定网站中的网页生成下载链接。
所以,从IA下载特定网站的操作是:
- 获取网站url,例如“1700多个中文独立博客”(https://blog.save-web.org/blog/2022/07/19/%e9%9c%87%e6%83%8a%ef%bc%8cstwp-%e7%ab%9f%e7%84%b6%e7%bb%99-1700-%e5%a4%9a%e4%b8%aa%e4%b8%ad%e6%96%87%e7%8b%ac%e7%ab%8b%e5%8d%9a%e5%ae%a2%e5%81%9a%e4%ba%86%e6%af%8f%e6%97%a5%e5%a4%87%e4%bb%bd/),要先去上述网页点击rss list(https://github.com/saveweb/rss-list/)点击Release,下载Blog.opml.xml,从xml中提取出特定网站的 url,例如androidperformance.com
- 验证(可选),使用androidperformance.com关键字去wayback machine网站查看网页快照,直达链接:https://web.archive.org/web/20240000000000*/androidperformance.com
- 使用这个关键字去way back machine的cdx api生成文件列表并下载。(这一步需要咨询一下负责common crawl数据的大佬,看他 能否改一下代码测试一下)
使用python操作IA
因为是pip安装的包,可以直接在pythong中使用:
import internetarchive search = internetarchive.search_items('collection:chinaxivmirror') for result in search: print(result['identifier'])
遗留问题
- 发现IA上还有类型为 Access-restricted-item的文件,图标是一把锁,这些文件没找到下载办法
- 据说有某些文件需登陆后下载,但IA命令行没有找到登录设置。
- 有些“借阅”类型的文件(通常是电子书),可以在线阅读或下载后一定时间内可阅读,这些文件均被DRM加密,不一定能够破解。参考: dedrm
参考文档
IA搜索关键字记录
tianya.cn:有越60G的数据但全部都标记为不允许下载。