令人惊叹的网络存档
网络存档是收集部分万维网内容的过程,以确保信息被保存在档案中供未来的研究者、历史学家和公众使用。由于网络规模庞大,网络档案管理员通常使用网络爬虫进行自动采集。不断发展的网络标准要求存档工具持续演进,以跟上网络技术的变化,确保可靠且有意义地采集和重现存档的网页。
目录
培训/文档
- 网络存档概念介绍:
- 什么是网络存档? - 来自英国网络存档 YouTube 频道的视频
- 维基百科网络存档倡议列表
- Archive-It 和网络存档术语表
- 网络存档生命周期模型 - 网络存档生命周期模型试图将网络存档的技术和项目两个方面纳入一个框架,该框架适用于任何寻求存档网络内容的组织。Archive-It 是互联网档案馆的网络存档服务,基于其与世界各地记忆机构的合作开发了这个模型。
- Wael Eskandar 和 Brad Murray 编写的检索和存档网站信息指南
- 培训材料:
- WARC 标准:
- warc-specifications 官方规范的社区 HTML 版本及新提案中心。
- 官方 ISO 28500 WARC 规范主页。
- 面向使用网络存档的研究人员:
面向网络出版者的资源
这些资源可以帮助与在网上发布内容并希望确保其网站可以被存档的个人或组织合作。
- 斯坦福图书馆的可存档性页面
- Archive Ready 工具,用于估计网页被成功存档的可能性。
工具和软件
这份工具和软件列表旨在简要描述一些最重要和广泛使用的与网络存档相关的工具。有关更多详细信息,我们建议您参考(并贡献!)来自其他群体的这些优秀资源:
采集
- ArchiveBox - 一个使用wget、Chrome无头浏览器和其他方法从RSS源、书签和链接维护增量存档的工具(原名"Bookmark Archiver")。(开发中)
- archivenow - 一个Python库,用于将网络资源推送到按需网络存档中。(稳定版)
- ArchiveWeb.Page - 一个适用于Chrome和其他基于Chromium的浏览器的插件,可以交互式地存档网页、回放它们,并将其导出为WARC数据。也可作为基于Electron的桌面应用程序使用。
- Auto Archiver - Python脚本,用于自动存档Google Sheets文档中的社交媒体帖子、视频和图像。阅读bellingcat.com上关于Auto Archiver的文章。
- Browsertrix Crawler - 基于Chromium的高保真爬虫系统,设计用于在单个Docker容器中运行复杂、可定制的基于浏览器的爬虫。(稳定版)
- Brozzler - 一个分布式网络爬虫,使用真实浏览器(Chrome或Chromium)获取页面和嵌入的URL并提取链接。(稳定版)
- Cairn - 用于保存网页的npm包和CLI工具。(稳定版)
- Chronicler - 具有记录和回放功能的网络浏览器。(开发中)
- crau - crau是大多数巴西人发音"crawl"的方式,它是最简单的命令行工具,用于存档网页和播放存档:你只需要一个URL列表。(稳定版)
- Crawl - 一个用Golang编写的简单网络爬虫。(稳定版)
- crocoite - 使用无头Google Chrome/Chromium爬取网站,并将资源、静态DOM快照和页面截图保存到WARC文件中。(开发中)
- DiskerNet - 一个非基于WARC的工具,它挂钩到Chrome浏览器并存档你浏览的所有内容,使其可以离线回放。(开发中)
- F(b)arc - 一个命令行工具和Python库,使用Graph API从Facebook存档数据。(稳定版)
- freeze-dry - JavaScript库,用于将页面转换为静态、自包含的HTML文档;对浏览器扩展有用。(开发中)
- grab-site - 档案员的网络爬虫:WARC输出,所有爬虫的仪表板,动态忽略模式。(稳定版)
- Heritrix - 一个开源、可扩展、网络规模的存档质量网络爬虫。(稳定版)
- Heritrix Q&A - 一个讨论论坛,用于询问和回答有关使用Heritrix的问题。
- Heritrix Walkthrough (开发中)
- html2warc - 一个简单的脚本,用于将离线数据转换为单个WARC文件。(稳定版)
- HTTrack - 一个开源网站复制工具。(稳定版)
- monolith - 将网页保存为单个HTML文件的CLI工具。(稳定版)
- Obelisk - Go包和CLI工具,用于将网页保存为单个HTML文件。(稳定版)
- Scoop - 高保真、基于浏览器的单页网页存档库和CLI工具,用于见证网络。(稳定版)
- SingleFile - Firefox/Chrome浏览器扩展和CLI工具,用于将完整页面的忠实副本保存为单个HTML文件。(稳定版)
- SiteStory - 一个事务性存档,选择性地捕获和存储发生在网络客户端(浏览器)和网络服务器之间的事务。(稳定版)
- Social Feed Manager - 开源软件,使用户能够从Twitter、Tumblr、Flickr和新浪微博公共API创建社交媒体集合。(稳定版)
- Squidwarc - 一个开源、高保真、页面交互的存档爬虫,直接使用Chrome或Chrome无头浏览器。(开发中)
- StormCrawler - 一套用于在Apache Storm上构建低延迟、可扩展网络爬虫的资源集合。(稳定)
- twarc - 一个用于存档Twitter JSON数据的命令行工具和Python库。(稳定)
- WAIL - 一个图形用户界面(GUI),集成了多种网页存档工具,旨在为任何人提供一种简单的方式来保存和重放网页;Python版,Electron版。(稳定)
- Warcprox - 一个可写入WARC文件的中间人HTTP/S代理。(稳定)
- WARCreate - 一个Google Chrome扩展,用于将单个网页或网站存档为WARC文件。(稳定)
- Warcworker - 一个开源的、容器化的、基于队列的、高保真的网页存档器,基于Squidwarc,带有简单的Web图形界面。(稳定)
- Wayback - 一个工具包,用于将网页快照保存到Internet Archive、archive.today、IPFS等平台。(稳定)
- Waybackpy - Wayback Machine的保存、CDX和可用性API接口,提供Python库和命令行工具。(稳定)
- Web2Warc - 一个易于使用且高度可定制的爬虫,使任何人都能创建自己的小型网页档案(WARC/CDX)。(稳定)
- Web Curator Tool - 用于选择性网页存档的开源工作流管理工具。(稳定)
- WebMemex - Firefox和Chrome的浏览器扩展,允许你存档你访问的网页。(开发中)
- Wget - 一个开源文件检索工具,从1.14版本开始支持写入WARC文件。(稳定)
- Wget-lua - 带有Lua扩展的Wget。(稳定)
- Wpull - 一个与Wget兼容的(或重制/克隆/替代)网页下载器和爬虫。(稳定)
回放
- InterPlanetary Wayback (ipwb) - 使用IPFS进行Web存档(WARC)索引和回放。
- OpenWayback - 旨在开发Wayback Machine的开源项目,这是全球网络档案馆用于在用户浏览器中回放已存档网站的关键软件。(稳定版)
- PYWB - 网络存档回放工具的Python 3实现,有时也被称为"Wayback Machine"。(稳定版)
- Reconstructive - Reconstructive是一个ServiceWorker模块,用于客户端重构复合回忆,通过将资源请求重新路由到相应的存档副本(JavaScript)。
- ReplayWeb.page - 一个基于浏览器的、完全客户端的回放引擎,适用于本地和远程WARC和WACZ文件。(稳定版)
- warc2html - 将WARC文件转换为适合离线浏览或重新托管的静态HTML。
搜索与发现
- Mink - 一个Google Chrome扩展,用于在浏览时查询Memento聚合器并集成实时-存档网络导航。(稳定版)
- playback - 用于从Internet Archive、archive.today、Memento等地方搜索已存档网页的工具包。(开发中)
- SecurityTrails - 基于Web的WHOIS和DNS记录存档。REST API可免费使用。
- Tempas v1 - 基于Delicious标签的时间网络存档搜索。(稳定版)
- Tempas v2 - 基于从1996年到2013年德国网络中提取的链接和锚文本的时间网络存档搜索(结果不限于德语页面,例如,Tempas中的Obama@2005-2009)。(稳定版)
- webarchive-discovery - WARC和ARC全文索引和发现工具,以及一些能够使用该索引的相关工具,如下所示。(稳定版)
- Shine - 一个网络档案探索UI原型,作为英国大型领域数据艺术与人文项目的一部分与研究人员共同开发。(稳定版)
- SolrWayback - 一个后端Java和前端VUE JS项目,具有全文搜索和内置回放引擎。要求Warc文件已经用Warc-Indexer进行了索引。该Web应用还有多种数据可视化工具和数据导出工具,可用于整个网络存档。SolrWayback 4捆绑版本包含了所有软件和依赖项,是一个易于安装的开箱即用解决方案。
- Warclight - 一个基于Project Blacklight的Rails引擎,支持发现以WARC和ARC格式存储的网络存档。(开发中)
- Wasp - 一个功能完备的个人网络存档和搜索系统原型。(开发中)
- 构建前端的其他可能选项列在
webarchive-discovery
wiki的这里。
工具
-
ArchiveTools - 用于提取和处理WARC文件的工具集合(Python)。
-
cdx-toolkit - 用于查询cdx索引和创建WARC子集提取的库和命令行工具。抽象化了Common Crawl的特殊爬取结构。(稳定)
-
Go Get Crawl - 使用Wayback Machine和Common Crawl提取网络存档数据。(稳定)
-
gowarcserver - 基于BadgerDB的捕获索引(CDX)和WARC记录服务器,用于索引和提供WARC文件(Go)。
-
har2warc - 将HTTP存档(HAR)转换为Web存档(WARC)格式(Python)。
-
httpreserve.info - 返回网页状态或将其保存到Internet Archive的服务。HTTPreserve包括对知名短链接服务的消歧。它通过浏览器或使用GET的CURL命令行返回JSON。使用Internet Archive中的最早和最新日期描述网站,并在其输出中演示使用该范围构建Robust Links。(Golang)(稳定)
-
HTTPreserve linkstat - httpreserve.info的命令行实现,用于描述网页状态。可以轻松编写脚本,并提供JSON输出,以便通过JQ等工具进行查询。HTTPreserve Linkstat描述当前状态,以及archive.org上的最早和最新链接。(Golang)(稳定)
-
Internet Archive Library - 用于直接与archive.org交互的命令行工具和Python库。(Python)(稳定)
-
httrack2warc - 将HTTrack存档转换为WARC格式(Java)。
-
MementoMap - 用于总结Web存档内容的工具(Python)。(开发中)
-
MemGator - Memento聚合器CLI和服务器(Golang)。(稳定)
-
OutbackCDX - 基于RocksDB的捕获索引(CDX)服务器,支持增量更新和压缩。可用作OpenWayback、PyWb和Heritrix的后端。(稳定)
-
py-wasapi-client - 用于从WASAPI下载爬虫内容的命令行应用程序(Python)。(稳定)
-
The Archive Browser - The Archive Browser是一个允许你浏览存档内容并提取它们的程序。它可以让你打开存档中的文件,并使用Quick Look预览它们。支持WARC(仅限macOS,专有应用程序)。
-
The Unarchiver - 用于将多种存档格式(包括WARC)的内容提取到文件系统的程序。The Archive Browser的免费版本(仅限macOS,专有应用程序)。
-
tikalinkextract - 从Apache Tika可以解析的文档类型文件夹中提取超链接,作为网络存档的种子(Golang,Apache Tika服务器)。(开发中)
-
wasapi-downloader - 用于从WASAPI下载爬虫内容的Java命令行应用程序。(稳定)
-
Warchaeology - Warchaeology是用于检查、操作、去重和验证WARC文件的工具集合。稳定
-
warcdb - 用于将WARC文件导入SQLite数据库的命令行工具(Python)。(稳定)
-
warcdedupe - 用Rust编写的WARC去重工具(和WARC库)。(开发中)
-
warc-safe - WARC文件中病毒和NSFW内容的自动检测。
-
WarcPartitioner - 按MIME类型和年份对(W)ARC文件进行分区。(稳定)
-
warcrefs - Web存档去重工具。稳定
-
webarchive-indexing - 用于在Hadoop、EMR或本地文件系统上批量索引WARC/ARC文件的工具。
-
wikiteam - 用于下载和保存维基的工具。(稳定版)
WARC I/O 库
- FastWARC - 高性能WARC解析库(Python)。
- HadoopConcatGz - 用于连接GZIP文件(以及
*.warc.gz
)的可分割Hadoop InputFormat。(稳定) - jwarc - 使用类型安全API读写WARC文件(Java)。
- Jwat - 用于读取/写入/验证WARC/ARC/GZIP文件的库(Java)。(稳定)
- Jwat-Tools - 用于读取/写入/验证WARC/ARC/GZIP文件的工具(Java)。(稳定)
- node-warc - 使用Electron或chrome-remote-interface解析WARC文件或创建WARC文件(Node.js)。(稳定)
- Sparkling - 互联网档案馆的Sparkling数据处理库。(稳定)
- Unwarcit - 用于解压WARC和WACZ文件的命令行界面(Python)。
- Warcat - 处理Web存档(WARC)文件的工具和库(Python)。(稳定)
- warcio - 用于快速Web存档IO的流式WARC/ARC库(Python)。(稳定)
- warctools - 用于处理ARC和WARC文件的库(Python)。
- webarchive - 用于ARC和WARC网络存档格式的Golang读取器(Golang)。
分析
- Archives Research Compute Hub - 用于分布式计算分析Archive-It网络存档集合的Web应用程序。(稳定)
- ArchiveSpark - 一个(不仅)适用于Web存档的Apache Spark框架,可轻松进行数据处理、提取和衍生。(稳定)
- Archives Unleashed Notebooks - 使用Archives Unleashed Toolkit处理Web存档以及由Archives Unleashed Toolkit生成的衍生品的笔记本。(稳定)
- Archives Unleashed Toolkit - Archives Unleashed Toolkit(AUT)是一个使用Apache Spark分析Web存档的开源平台。(稳定)
- Common Crawl Columnar Index - 可通过SQL查询的索引,包含CDX信息和语言分类。(稳定)
- Common Crawl Web Graph - 网络的主机或域级别图表,包含排名信息。(稳定)
- Common Crawl Jupyter notebooks - 使用Common Crawl各种数据集的笔记本集合。(稳定)
- Tweet Archives Unleashed Toolkit - 使用Apache Spark分析面向行的JSON Twitter存档的开源工具包。(开发中)
- Web Data Commons - 从Common Crawl提取的结构化数据。(稳定)
质量保证
- Chrome Check My Links - 浏览器扩展:一个具有更多选项的链接检查器。
- Chrome link checker - 浏览器扩展:基本链接检查器。
- Chrome link gopher - 浏览器扩展:页面链接收集器。
- Chrome Open Multiple URLs - 浏览器扩展:打开多个URL,并从文本中提取URL。
- Chrome Revolver - 浏览器扩展:在浏览器标签之间切换。
- FlameShot - Ubuntu上的屏幕捕获和标注工具。
- PlayOnLinux - 用于在Ubuntu上运行Xenu和Notepad++。
- PlayOnMac - 用于在macOS上运行Xenu和Notepad++。
- Windows 截图工具 - Windows内置的部分屏幕捕获和标注工具。在macOS上可以使用Command + Shift + 4(部分屏幕捕获的键盘快捷键)。
- WineBottler - 用于在macOS上运行Xenu和Notepad++。
- xDoTool - Ubuntu上的点击自动化工具。
- Xenu - Windows桌面链接检查器。
内容管理
- Zotero Robust Links Extension - 一个Zotero扩展,用于提交和读取网络档案。源代码在GitHub上。取代了leonkt/zotero-memento。
社区资源
其他优秀列表
博客和学术资源
- IIPC博客
- Web Archiving Roundtable - 美国档案工作者协会网络存档圆桌会议的非官方博客,由网络存档圆桌会议成员维护。
- The Web as History - 一本开源书籍,提供网络存档研究的概念性概述,以及几个案例研究。
- WS-DL博客 - Web科学和数字图书馆研究小组博客,涉及各种网络存档相关主题、学术工作和学术出差报告。
- DSHR's Blog - David Rosenthal定期回顾和总结数字保存领域的工作。
- UK Web Archive Blog
邮件列表
Slack
- IIPC Slack - 向@netpreserve询问访问权限。
- Archives Unleashed Slack - 填写此申请表以获取使用网络档案的研究人员群组的访问权限。
- Archivers Slack - 自行邀请加入与EDGI和Data Together相关的多学科存档项目。
- @NetPreserve - IIPC官方账号。
- @WebSciDL - ODU Web科学和数字图书馆研究小组。
- #WebArchiving
- #WebArchiveWednesday
网络存档服务提供商
我们的目的是只列出允许以标准格式(WARC或WACZ)导出网络存档的服务。但这并不是对这些服务的认可,读者应根据自己的需求检查和评估这些选项。
可自托管的开源项目
- Browsertrix - 来自 Webrecorder,源代码可在 https://github.com/webrecorder/browsertrix 获取。
- Conifer - 来自 Rhizome,源代码可在 https://github.com/Rhizome-Conifer 获取。
托管的闭源服务
- Archive-It - 来自互联网档案馆。
- Arkiwera
- Hanzo
- MirrorWeb
- PageFreezer
- Smarsh