【发布时间】:2022-01-13 19:30:56
【问题描述】:
这是我的程序的代码:
from bs4 import BeautifulSoup
with open('wiki_articles.xml', 'r', encoding='utf-8') as f:
data = f.read()
bs_data = BeautifulSoup(data, "xml")
bs_title = bs_data.find_all('title')
print(bs_title)
程序运行但不返回任何内容。只有当我停止它时它才会退出。 我尝试了其他标签,但问题仍然存在。 xml 文件大约 220 Mb,我的电脑可以运行这个程序。
【问题讨论】:
-
这是一个很大的 XML 文件!在杀死它之前你让它运行了多长时间?注意:使用“top”或任务管理器或类似的方式密切关注进程内存使用情况。解析这个野兽可能会占用 RAM。
-
你是对的。它正在吃掉内存。您对如何使用它有什么建议吗?
-
查看此页面:codefaster.substack.com/p/mastering-jq-xml-and-any-other-data - 它建议了一种将 XML 流式转换为 JSON 的方法,然后使用神奇工具“jq”提取字段(然后可选择转换回 XML )。这项任务的好处在于这些工具适用于流,而不是大块。
标签: python xml beautifulsoup lxml