我正在用bs4和python3.5解析Wikipedia元数据文件
这适用于从(更大)文件的测试片中提取:
from bs4 import BeautifulSoup
with open ("Wikipedia/test.xml", 'r') as xml_file:
xml = xml_file.read()
print(BeautifulSoup(xml, 'lxml').select("timestamp"))
问题是元数据文件都是12+gig的,所以与其在ensoupification之前以字符串的形式在整个文件中含糊不清,不如让BeautifulSoup以迭代器的形式读取数据(甚至可以从gzcat读取,以避免数据在未压缩的文件中出现)。你知道吗
然而,我试图把任何东西,而不是一根线导致它窒息。有没有办法让BS以流而不是字符串的形式读取数据?你知道吗
你可以给BS一个文件句柄对象。你知道吗
这是Making the Soup文档中的第一个示例
BeautifulSoup或lxml没有stream选项,但是可以使用
iterparse()
读取块中的大型xml文件阅读更多here或here
相关问题 更多 >
编程相关推荐