首页 > 解决方案 > 使用属性作为 id 从 HTML div 创建 Python 字典

问题描述

我在一个文件中有以下 html/xml 数据,我正在尝试使用该数据创建一个字典。

<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET" NEWID="1">
blah blah...
</REUTERS>
<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET" NEWID="2">
blah blah...
</REUTERS>
<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET" NEWID="3">
blah blah...
</REUTERS>
#many more like this...

我正在尝试将字典作为

 mydict = {1:"blah blah...", 2: "blah blah...", 3: "blah blah...", etc}

我字典中的每个 id 编号对应于 REUTERS 标签元素中的 NEWID 属性。

到目前为止,我有这段代码,但我对如何使用 NEWID 的属性作为我的字典的键值对的键一无所知。

mydict = {} 
for reuters_file in os.listdir(reuters_folder):
    with open(reuters_folder+reuters_file) as file:
    soup = BeautifulSoup(file, "lxml")
    content = str(soup)  
    val = content.split('<REUTERS')
    mydict[int(key)] = val

标签: pythonfiledictionary

解决方案


from bs4 import BeautifulSoup

soup = BeautifulSoup(xml, 'lxml')
d = {}

for reuters in soup.find_all('reuters'):
    d[reuters.get('newid')] = reuters.text

推荐阅读