以下简称为IA
这个pip包中包含了python库和命令行工具ia.exe
pip install internetarchive
以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名字的文件夹,并开始下载
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
当一个用户通过某些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下载特定网站的操作是:
pip install internetarchive 因为是pip安装的包,可以直接在pythong中使用:
import internetarchive search = internetarchive.search_items('collection:chinaxivmirror') for result in search: print(result['identifier'])
一些有用的python代码@n_g @等战: ia_scripts.zip 该压缩包中包含:
3_get_warc_url_from_metadata_v2.zip step3的v2版本,bug修复:
6_get_warc_backup_url.zip IA对于任意一个item,均有主用、备用两个URL。使用脚本3从脚本2生成下载URL时,默认只会返回下载地址1(D1),如果D1出现问题,可以尝试从备用下载地址(D2)下载,这个脚本的作用是输入任何一个下载URL,返回另外一个。
已知问题: 5_warc_extract.py现在使用warcio,在处理某些版本的warc时有问题,建议更改为fastwarc(C++不支持zstd warc)或IA官方的warc工具(glang)
查看某个item的metadata,其中d1、d2对应该item的2个存储服务器,有时候主存储限速时,可尝试备用存储下载
https://archive.org//metadata/{identifier}
tianya.cn:有越60G的数据但全部都标记为不允许下载。