python - 从类内部提取id
问题描述
我正在使用美丽的网页抓取。当我使用 find all 提取类变量时,我得到了数据数组。
我的查询是如何从提取的值中提取 id 值。我试过标签。但这并没有太大帮助。
我需要以下输出
测量_a000_20c0_0002
数据[0]
<td class="measurement">
<div id="measurement_a000_20c0_0002">0.0</div>
</td>
解决方案
根据您的示例,只需找到元素,然后使用 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'])
推荐阅读
- r - 通过 Shiny Markdown 文档中的输入值触发闪亮警报
- authentication - 为每个客户端配置 IdP 登录后流程
- python - Pyrogram - 在 client.copy_message 中包含用户名
- webdriver - WebdriverIO - 为什么 waitUntil() 不起作用?
- c - 如何在不更改标准输入缓冲区的内容的情况下以可移植方式、非阻塞方式检测用户是否按下了某个键?
- cluster-analysis - 如何对 3 维数据进行聚类?
- javascript - 仅当错误代码为 403 时才尝试登录
- flutter - 在颤动中单击 DataRow-Selected 后没有更新
- python - 如何轻松运行类方法
- apache-storm - 在 Storm 2.2.0 中使用 Flux.main() 以本地模式运行拓扑