繁体   English   中英

如何从 warc.wet.gz 中提取每一个 payload?

[英]How can one extract every payload from warc.wet.gz?

我一直在尝试从 Common Crawl 的湿文件中提取文本数据。 我目前正在使用 Inte.net Archieve 的 warc 解析器https://github.com/inte.netarchive/warc

import warc
w = warc.open(fileName)
for record in w:
  text = record.payload.read()

但是这种方法只提供不到有效负载中一半的数据。 是否有任何其他更好的方法可以提供文件中每个有效负载中的所有数据。

warc 库的 gzip 处理有一个错误,导致 warc 无法读取整个 WET 文件。 为了克服这个错误,你应该使用 Python 的 gzip 库来即时解压缩文件 stream,如下所示:

import gzip
import warc
gzip_fobj = gzip.open(wet_file, "r")
warc_fobj = warc.WARCFile(fileobj=gzip_fobj, compress=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM