首页 > 解决方案 > 从类内部提取id

问题描述

我正在使用美丽的网页抓取。当我使用 find all 提取类变量时,我得到了数据数组。

我的查询是如何从提取的值中提取 id 值。我试过标签。但这并没有太大帮助。

我需要以下输出

测量_a000_20c0_0002

数据[0]

<td class="measurement">
<div id="measurement_a000_20c0_0002">0.0</div>
</td>

标签: pythonbeautifulsoup

解决方案


根据您的示例,只需找到元素,然后使用 get id 属性。element['id']

from bs4 import BeautifulSoup
html='''<td class="measurement">
<div id="measurement_a000_20c0_0002">0.0</div>
</td>'''

soup=BeautifulSoup(html,"html.parser")
for item in soup.select(".measurement >div "):
    print(item['id'])

如果你想使用 find_all() 试试这个。

from bs4 import BeautifulSoup
html='''<td class="measurement">
<div id="measurement_a000_20c0_0002">0.0</div>
</td>'''

soup=BeautifulSoup(html,"html.parser")
for item in soup.find_all("td" , class_="measurement"):
    print(item.find_next('div')['id'])

推荐阅读