Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO 28500:2017规定了WARC(Web ARChive)文件格式,这是存储网络存档内容的国际标准。WARC作为ARC格式(互联网档案馆自1996年使用)的后继者,满足了对于能够捕获现代网络资源复杂结构的标准化、可扩展格式的日益增长的需求。该格式支持在单个存档文件中存储多种数字资源——包括HTTP响应、DNS记录和元数据——同时保持资源之间及其与上下文元数据的关系。
WARC文件是一个连接的记录序列,每个记录由一个头部分和一个可选的内容块组成。该标准定义了每个记录头部中的多个强制和可选命名字段:
| 字段名称 | 是否必需 | 描述 |
|---|---|---|
| WARC-Record-ID | 是 | 记录的全局唯一标识符(URI格式) |
| Content-Length | 是 | 内容块的字节长度 |
| WARC-Date | 是 | 资源捕获的日期/时间(ISO 8601格式,精确到秒) |
| WARC-Type | 是 | 记录类型:response, request, resource, metadata, conversion, revisit, warcinfo, continuation |
| Content-Type | 否 | 内容块的MIME类型 |
| WARC-Block-Digest | 否 | 内容块的哈希摘要 |
| WARC-Payload-Digest | 否 | 内容块内有效负载的哈希摘要 |
| WARC-IP-Address | 否 | 提供资源的服务器的IP地址 |
| WARC-Refers-To | 否 | 对相关记录的引用 |
WARC定义了八种记录类型,每种在网络存档工作流中服务特定功能:
warcinfo描述存档文件本身(爬虫软件、操作员、参数)。response存储完整的HTTP响应,包括头部和正文。request捕获生成响应的HTTP请求,使得能够重建完整的客户端-服务器交互。resource存储未封装在HTTP信封中的任何数字资源,如FTP下载或DNS记录。
metadata存储关于另一记录的补充信息(如爬取日志条目、提取的文本)。conversion记录表示原始资源的转换版本,如OCR输出或格式迁移。revisit记录指示资源内容与之前捕获的版本相同,使用WARC-Refers-To字段建立关系——这对于重复爬取的高效存储至关重要。
实施基于WARC的系统需要仔细考虑几个工程方面:
压缩策略:WARC文件使用gzip压缩效果极佳(HTML内容典型压缩比5:1至10:1)。然而,对于随机访问,单条记录压缩(每条记录gzip)优于文件级压缩。标准建议在记录级别使用Content-Encoding: gzip。
文件大小管理:常见做法将单个WARC文件限制在1 GB未压缩或约100 MB压缩。这平衡了存储效率与实际处理需求。标准允许任何文件大小,但建议实现者至少支持4 GB文件。
去重策略:Revisit记录与负载摘要相结合,可在重复爬取期间实现显著的存储节省。对1000万页网站的典型每周爬取可能只存储10-20%的新内容,其余存储为引用原始捕获的revisit记录。