我必须从基于Target-URI的* .warc.gz文件中检索记录。 文档说这需要创建外部CDXJ索引文件。
我尝试将文件打开为gzip.open()
并执行seek(offset)
,但搜索操作需要相当长的时间(秒)。
是否有其他正确的方法来检索记录。
编辑:我使用的是warc python库,他们似乎没有在warc文件上提供直接的f.seek()。
答案 0 :(得分:3)
在解压缩之前,您应该对文件进行搜索。通常,WARC文件按记录进行压缩,CDXJ中的偏移量和长度允许剪切单个WARC记录,然后在单个记录上执行gzip.open()。有疑问,最好使用图书馆。 Warcio甚至提供了一个命令行工具来按偏移量提取单个记录:warcio extract xyz.warc.gz offset
。