gpt4 book ai didi

python - BeautifulSoup 使用可迭代而不是字符串?

转载 作者:行者123 更新时间:2023-11-30 22:01:27 24 4
gpt4 key购买 nike

我正在使用 bs4 和 python 3.5 解析维基百科元数据文件

这适用于从(更大的)文件的测试切片中提取:

from bs4 import BeautifulSoup

with open ("Wikipedia/test.xml", 'r') as xml_file:
xml = xml_file.read()

print(BeautifulSoup(xml, 'lxml').select("timestamp"))

问题是元数据文件都是 12+ gigs,因此我不想在 ensoupification 之前将整个文件作为字符串读取,而是希望 BeautifulSoup 将数据作为迭代器读取(甚至可能从 gzcat 读取,以避免将数据保存在未压缩的文件中)。

但是,我尝试向 BS 传递字符串以外的任何东西,导致它窒息。有没有办法让 BS 以流而不是字符串的形式读取数据?

最佳答案

你可以给BS一个文件句柄对象。

with open("Wikipedia/test.xml", 'r') as xml_file:
soup = BeautifulSoup(xml_file, 'lxml')

这是 Making the Soup 文档中的第一个示例

关于python - BeautifulSoup 使用可迭代而不是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com