<resultsummary>
<resultticker category="executed">
<count>12</count>
<percentage>1.0</percentage>
<id xlink:href="...">id_num</id>
<id xlink:href="...">id_num</id>
</resultticker>
<resultticker category="done">
<count>16</count>
<percentage>0.6</percentage>
<id xlink:href="...">id_num</id>
<id xlink:href="...">id_num</id>
</resultticker>
</resultsummary>
我正在使用
BeatifulSoup4
,并且使用命令soup.find("resultsummary")
得到了上面的响应。我想做的是,我想检索
count
标记中的resultticker
并通过category
属性对其进行分类。所以,我想得到
{ executed: 12, done: 16 }
。我试图做
soup.find("resultsummary").find('resultticker')['category']
这样的事情,但是它只是给我属性executed
的名称,而不是标签内的信息。有什么帮助吗?提前致谢。
最佳答案
采用:
from bs4 import BeautifulSoup
html = """<div>
<resultsummary>
<resultticker category="executed">
<count>12</count>
<percentage>1.0</percentage>
<id xlink:href="...">id_num</id>
<id xlink:href="...">id_num</id>
</resultticker>
<resultticker category="done">
<count>16</count>
<percentage>0.6</percentage>
<id xlink:href="...">id_num</id>
<id xlink:href="...">id_num</id>
</resultticker>
</resultsummary>
</div>"""
result = {}
soup = BeautifulSoup(html, "html.parser")
for resultticker in soup.find("resultsummary").find_all('resultticker'): #iterate each resultticker
result[resultticker['category']] = resultticker.count.text #Key=category & Value=count
print(result)
输出:
{'executed': '12', 'done': '16'}
关于python - 使用BeautifulSoup根据属性检索信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59171839/