根据 url 从 WARC 文件中检索记录

Retrieving records from WARC file based on url

我必须根据 Target-URI 从 *.warc.gz 文件中检索记录。 文档说这需要创建外部 CDXJ 索引文件。

我尝试以 gzip.open() 打开文件并执行 seek(offset),但查找操作需要相当长的时间(秒)。

是否有其他正确的方法来检索记录。

编辑:我正在使用 warc python 库,他们似乎没有在 warc 文件上提供直接的 f.seek()。

你应该在解压前对文件进行搜索。通常,WARC 文件是逐条记录压缩的,CDXJ 中的偏移量和长度允许裁剪出单个 WARC 记录,然后在单个记录上执行 gzip.open()。有疑问,最好使用图书馆。 Warcio甚至提供了一个command-line工具来通过偏移提取单个记录:warcio extract xyz.warc.gz offset.