一、 引言
网络信息存档的深入开展驱动实践领域为促进网络档案资源的利用和开发设计技术工具,形成了功能各异、使用场景不同的系列产品。加强对相关工具的了解对于网络档案资源的开发利用具有积极意义。由此,“档案那些事儿”接续上期有关网络信息捕获工具的介绍《档案实务|网络档案管理专题(三)——网络信息捕获工具大盘点》,继续盘点网络信息开发利用的技术工具,介绍不同工具的开发背景、基本功能等。
二、工具介绍
总体而言,面向网络档案资源的开发利用,现有技术工具着重于实现网络档案的复现、检索、分析和基本的管理功能的实现。
(一)网络档案的复现工具
InterPlanetary Wayback
InterPlanetary Wayback是由欧道明大学计算机系Mat Kelly等人在“档案释放黑客马拉松”项目(ArchivesUnleashed Hackathon)的资助下,使用Python语言开发的网络档案复现工具,并于2018年在开源平台Github发布。该工具可从InterPlanetary文件系统中获取WARC格式的网络档案,并重新组合存档的HTTP响应以进行网络资源复现。该复现工具由索引器和复现装置构成。索引器用于从WARC文件库和InterPlanetary文件系统中提取HTTP头字段、有效载荷(payload)、时间、内容类型等,并将其构建为CDXJ格式的索引文件。复现装置则可在用户发出请求后,即可从索引中获取对应的文件。通过该索引文件即可从InterPlanetary文件系统中获取HTTP头字段以及有效载荷,并在复现装置中组合上述文件进而提供给用户。工具链接:https://github.com/oduwsdl/ipwb
OpenWayback
随着开源版Wayback Machine被IIPC成员广泛使用于网络档案复现工作,互联网档案馆将开源版Wayback Machine的主要存储库移交给IIPC。为了满足IIPC成员对于网络资源利用需求,IIPC于2013年启动了OpenWayback项目,以便在成员间进行开源软件测试,进而形成“正式”版本。OpenWayback支持“存档URL(Archival URL)”和“代理(Proxy)”两种网络资源的复现模式。在“存档URL”模式中,通过修改服务器的HTML标签子集并在其中插入JavaScript,或在服务器中重写所有的HTML标签等方式,适当修改响应用户请求的HTML文档,以提供与原始内容更为一致的复现体验。在“代理”模式中,允许用户配置其浏览器,通过Wayback应用程序代理所有HTTP请求。从而复现文件中发现的超链接均自动通过Wayback发出请求,且不需要改变网络资源的内容。
工具链接:https://github.com/iipc/openwayback/
ReplayWeb.Page
ReplayWeb.Page是由WebRecorder项目团队使用JavaScript开发的基于浏览器的网络档案复现工具,并于2020年在Github平台上线。该工具的优势在于可以直接在浏览器中实现不同地址和不同格式的网络档案高保真复现。在该工具中,用户可以通过从本地选取网络档案、输入网络档案URL以及通过安装附加组件直接从Google Drive导入网络档案三种方式加载网络档案资源。在加载完成后,用户则可浏览、探索网络档案资源。ReplayWeb.Page将列出所有已加载的网络档案索引,支持用户通过标题、来源进行检索,并通过日期等元数据要素进行筛选。此外,ReplayWeb.Page还提供了三种与网络档案资源的交互方式。一是“故事”试图,可提供存档方形成的网络档案精选页面列表;二是“页面”视图,可显示网络档案资源的所有页面;三是“页面资源”视图,对于许多缺少元数据的网络档案资源而言,允许用户输入URL进行检索,并支持更为详细的资源浏览方式。
工具链接:https://replayweb.page/
(二)网络档案的检索和发现工具
Mink
Mink是由欧道明大学计算机系Mat Kelly等人使用JavaScript开发的用于浏览网页存档情况的Google浏览器拓展程序,并于2014年发布至开源平台Github。用户可在Google浏览器应用程序拓展商店下载该工具,并直接在浏览器中应用。Mink在用户浏览实时网络资源的同时,可将URL作为参数自动查询该URL所代表的网络资源的存档情况,允许用户访问存档的网络资源并与实时网络资源进行比较。此外,对于没有存档的网络资源,Mink则鼓励用户开展网络存档行动,允许用户选择互联网档案馆、Archive.today、WebCite或Perma.cc等平台对该网络资源进行存档。
工具链接:https://github.com/machawk1/mink
httpreserve.info
httpreserve.info由数字保存专家Ross Spencer开发,是一种用于检查网络链接状态并查看其是否已在互联网档案馆存档的工具。该工具带有默认服务器模式,可以用于发布和获取请求,在默认情况下进行开机自检,并且也可以作为网络服务建立起来。服务器运行时主要有两种API(应用程序编程接口),一种返回包含用户请求服务信息的JSON结构,另一种则是管理对网络存档的保存请求并返回HTTPreserve结构。
此外,httpreserve客户端作为一个独立的应用程序,用于保存文献遗产内部网络应用的批量分析工具,可生成CSV、JSON、HTTP、BoltDB等不同格式的输出结果,能够向用户提供更广泛的访问途径,后续也会推出针对不同平台的版本。
工具链接:http://httpreserve.info/
Webarchive-discovery
丹麦皇家图书馆于2018年将webarchive-discovery升至3.0版本。使用webarchive-discovery可以对ARC和WARC格式的文件进行数据挖掘和索引,并使文件内容可以被浏览和发现。使用该工具的主要目标是为网络档案提供全文检索服务。为实现这个目标,webarchive-discovery借助warc-indexer组件来解析(W)ARC文件。对于其中的各种资源,它将一条记录发布到一个或多个Apache Solr服务器。而后应用面向客户端的工具,允许研究人员查询Solr索引并探索集合。webarchive-discovery具备高度可配置和可扩展、从索引中排除特定的记录、内容类型和状态代码、提取嵌入式许可信息、格式分析(包括对HTML、PDF、XML等格式的特定处理)等特点。
工具链接:https://github.com/ukwa/webarchive-discovery
Shine
Shine由Anjackon于2020年创建,它是一个用于浏览Solr服务器内容的web UI。它是一款专门设计用来使用warc-discovery索引器探索由web存档数据填充的搜索服务器。使用该工具的主要目标是促进网页存档内容的分面搜索和更复杂的趋势分析。Shine为实现数据可视化和底层数据集投影提供基础,并具有分面搜索和趋势分析的功能。同时,Shine允许高级检索。根据用户可选择的“匹配类型”,各字段可采取多种方式进行搜索,具体包括:“包含所有”(即“与”)、“包含任何”(即“或”)、“完全匹配”(即“短语搜索”)、“邻近搜索”(即添加另一个文本字段和一个数字邻近字段,如果没有邻近字段,则检索只是一个AND查询)。
工具链接:https://github.com/ukwa/shine
SolrWayback
SolrWayback最初由Ryan Chartier创建,是一个web应用程序,用于浏览历史获取的ARC/WARC文件,类似于Internet Archive Wayback Machine。SolrWayback在Solr服务器上使用,并使用warc-indexer索引ARC/WARC文件。SolrWayback拥有如下功能:(1)所有资源的自由文本搜索。(2)域的交互式链接图。(3)将搜索结果导出到WARC文件。(4)CSV文本导出搜索结果与自定义字段选择。(5)域的词云生成。(6)N-gram搜索可视化。(7)按域显示搜索结果。(8)大规模导出Gephi格式的链接图。(9)使用图像中的EXIF元数据信息按地图上的位置进行图像地理搜索。(10)通过上传文件进行搜索。(11)查看资源索引的所有字段,并显示记录的warc-header。
工具链接:https://github.com/netarchivesuite/solrwayback
(三)网络档案的分析工具
Archives Research Compute Hub
Archives Research Compute Hub(ARCH)是由Archives Unleashed项目团队开发的网络应用程序,用于实现Archive-It网络档案的分布式计算分析。该工具已在2022年初完成一系列用户体验测试,并正与互联网档案馆进一步合作。用户可选择相应的Archive-It网络档案进行探索,通过点击按钮创建数据集,ARCH可实现域频率统计、超链接网络图和全文提取等功能;ARCH也拥有多个浏览器内可视化功能,可用于探索馆藏内容和潜在数据输出。
工具链接:https://github.com/internetarchive/arch
ArchiveSpark
ArchiveSpark是由互联网档案馆于2015年开发的Web存档框架/工具包/库/API,用于促进高效的数据处理、提取以及网络档案集合的派生。该工具基于Apache Spark(一种流行的大数据处理框架)实现,通过应用过滤器和工具派生语料库,从原始数据中提取信息,并以更易于访问的格式存储,同时反映每个派生值的数据沿袭。其用例丰富,包括:选择数据子集并提取如标题、实体等所需属性;对过滤/提取/派生的数据展开分析;为下游应用生成超链接或知识图谱;处理存档网页并提取嵌入资源;从互联网档案馆Wayback Machine远程下载 WARC/CDX 数据等。
工具链接:https://github.com/helgeho/ArchiveSpark
Archives Unleashed Toolkit
Archives Unleashed Toolkit是Archives Unleashed项目团队近年开发的开源平台,提供一种使用Apache Spark从网络档案中提取和分析数据的方法。其工作流程涵盖从馆藏分析到理解和处理馆藏的全过程:在生成及结果方面,支持馆藏分析(如提取顶级域名)、文本分析(如提取按关键字过滤的纯文本)、链接分析(如导出到Gephi)、二进制分析(如提取图像信息)、文本文件(html、text、css、js、json、xml)分析;在筛选结果方面,包括RDD过滤器和数据框过滤器,并提供相应结果处理的详细指导。
工具链接:https://github.com/archivesunleashed/au
Archives Unleashed Notebooks
Archives Unleashed Notebooks是Archives Unleashed团队于2019年开发的Archives Unleashed Toolkit衍生工具,主要包括使用Toolkit处理网络档案的笔记本。该工具为研究人员提供了一系列使用Toolkit 分析网络档案的功能,包括数据清理、数据转换、网络分析、情感分析等,并支持以交互方式探索和过滤由Toolkit生成的域计数信息、提取的全文和网络可视化数据。此外,该工具采用用户友好的界面,旨在便利需要使用大数据处理技术分析网络档案的非技术背景研究人员。
工具链接:https://github.com/archivesunleashed/notebooks
(四)网络档案的管理工具
WarcPartitioner
WarcPartitioner是由互联网档案馆网络数据工程师Helge Holzmann于2016年开发的Web存档工具,主要用于Web ARChive(WARC)文件的分区。该工具基于Hadoop/MapReduce,按照MIME类型(用于标识互联网上文件格式的标签)和年份对大型WARC文件进行分区,具体包括两个阶段:首先依据指定大小或文件数将文件中的网络档案拆分为不含有任意大小标题的文件;其次将分区文件合并到有效的WARC/ARC文件中,并设置文件标题格式。
工具链接:https://github.com/helgeho/WarcPartitioner
webarchive-indexing
webarchive-indexing由IIPC的Ilya Kreymer于2015年开发,支持在Hadoop、EMR或本地文件系统上批量索引WARC/ARC文件。该项目包含多个MapReduce作业,用于从WARC/ARC文件的输入列表创建共享url索引,具体包括三个步骤:首先将单个WARC/ARC文件存储为CDX格式的索引文件,CDX索引文件包含网络档案的URL、时间戳等信息,支持快速定位与检索;其次,通过采样技术将CDX文件拆分为单个纯文本文件,并转换为序列文件以支持后续作业;最后,使用拆分文件(步骤二生成)从各个CDX文件(步骤一生成)创建ZipNum集群,在此格式中,所有CDX行均被gzip压缩并连接,每个拆分文件均具有一个索引文件和二级索引文件,通过连接二级索引以形成最终的二进制索引。由于WARC/ARC文件数量众多,上述步骤的脚本均在支持处理TB甚至PB级的文件数量的Hadoop或Amazon EMR环境中运行;同时,由于MRJob库的灵活性,脚本也可在本地机器上运行以构建索引集群。
工具链接:https://github.com/ikreymer/webarchive-indexing
httrack2warc
httrack2warc由澳大利亚国家图书馆的研究团队开发,是一种能够将HTTrack存档转换为WARC格式的工具,通过读取HTTrack缓存目录(hts-cache)和任何可用的日志文件来重建原始请求和响应的近似值。在格式转换的过程中,可能会出现因使用HTTrack操纵的文件名而导致现有链接断开的问题,为解决此问题,httrack2warc可以从HTTrack路径合成重定向记录到重建的原始实时URL中,之后通过设置Web服务器便可以将所有请求重定向到新的基于WARC格式的存档中。最后使用pywb等复现工具对所摄取的WARC文件进行复现。
工具链接:https://github.com/nla/httrack2warc
MemGator
MemGator由欧道明大学网络科学和数字图书馆研究小组开发,是在Go语言环境下的跨平台CLI(command-line interface,NETCore命令行界面,一种跨平台工作方式的主要工具)和服务器,其命令行界面允许以所有支持的格式检索时间图等内容。在CORS支持下,方便用户从JavaScript客户端进行使用。
MemGator据其特征能够实现以下功能,首先作为二进制文件能够用于各种平台,可以用作CLI或作为Web服务运行,当作为Web服务运行时,会公开可自定义的端点,包括TimeMap、TimeGate、Memento、About和Monitor等,输出结果主要以LINK、JSON和CDXJ三种格式提供。其次,在运行过程中通过服务器发送事件(SSE),即服务器可以随时将更新的数据流式传输给客户端,而无需发出初始请求,用户则能够实现实时的可视化与监控;最后,在运行方式上,MemGator采取并发并行的方式,即运行时将每个任务拆分成多个子任务,而后利用所有可用的CPU并行执行,过程中会基于概率对归档优先级进行选择与限制,并且会自动排除此前上游存档出现的故障,予以检测和休眠。
工具链接:https://github.com/oduwsdl/MemGator
OutbackCDX
OutbackCDX由澳大利亚图书馆的研究团队开发,是基于RocksDB的Web归档索引(CDX)服务器,支持增量更新和索引压缩。其可以实现的功能包括加载、删除、查询网络档案;可用作OpenWayback,PyWb和Heritrix的后端,实现文件记录的读取;通过设置环境变量来启用访问控制;在内存使用过多或需要更多性能的情况下可以调整内存的使用情况,防止负载过多。值得一提的是,在默认情况下,OutbackCDX是不安全的,需要采用外部授权方法,例如防火墙规则、反向代理;或启用Generic JWT和Keycloak进行授权,其中用户可以使用JSON Web令牌对修改索引和访问控制规则的授权进行控制,而OutbackCDX可以使用Keycloak作为身份验证服务器来保护API,用户则可以根据需要与客户端角色选项卡对应:①创建或删除索引记录②创建、修改或删除访问规则③创建、修改或删除访问策略。此外,OutbackCDX可通过HMAC算法实现与网络服务器或云存储提供商的结合使用。
工具链接:https://github.com/nla/outbackcdx
The Archive Browser
The Archive Browser由 Dag Agren进行开发,是一个仅限Mac OS系统的专有应用程序,可以让用户浏览并提取存档的内容。其次,基于The Unarchiver可以处理大量不同的存档格式,常见格式例如Zip、RAR、7-zip、Tar、Gzip和Bzip2以及StuffIt、DiskDoubler、LZH、ARJ和ARC等旧格式,还可以处理其他类型的格式如CD和DVD图像,例如ISO、BIN、MDF、NRG和CDI等格式,及许多Windows自解压文件,甚至可以从Flash SWF文件中提取媒体。此外,The Archive Browser可以较好地处理不同的文件名编码,向用户显示更多有关存档及其内容的信息。
工具链接:https://archivebrowser.c3.cx
三、结语
通过对上述网络档案资源利用和开发设计技术工具的介绍,对网络档案资源利用和开发设计的系列产品的开发主体、时间、主要特点、具体功能等已得到一定认识。不同网络档案资源开发工具各有千秋、各有侧重,在不同的使用场景下尽展风华。相信相关工具会随着实践的进一步深入而更加灵活、便捷、高效,为网络档案资源开发利用贡献更多技术力量。欢迎大家持续关注后续推出的网络档案资源存档的系列介绍,同时欢迎各位读者朋友们在评论区留言、互动,共同探讨网络档案资源存档的系列问题。
图文来源“档案那些事”微信公众号,如有侵权请联系随时进行删除 !