You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用BeautifulSoup结合Selenium提取HTML指定td节点内的特定文本元素

提取指定文本元素的解决方案

我来帮你解决这个问题~你之前用.text.strip()得到的是带换行的合并文本,那是因为这个方法会把目标元素下所有子元素的文本都拼接在一起,所以没法直接拆分出单个数字。咱们换个思路,直接定位到每个数字所在的<div>元素就行:

具体实现代码

target_td = td_list[9]
# 找到目标td下所有包含数字的div元素
div_items = target_td.find_all("div")
# 提取第1个(索引0)和第4个(索引3)div的文本
result_10 = div_items[0].text.strip()
result_2 = div_items[3].text.strip()

# 如果想一次性获取到列表里,可以用列表推导式
wanted_results = [div_items[i].text.strip() for i in [0, 3]]
print(wanted_results)  # 输出结果:['10', '2']

代码说明

  • target_td.find_all("div"):会把目标<td>里的四个包含数字的<div>全部找出来,返回一个元素列表,顺序和HTML里的顺序一致。
  • 因为HTML里的数字顺序是10(第1个div)、9(第2个)、7(第3个)、2(第4个),对应的列表索引是0、1、2、3,所以直接取索引0和3的元素文本就可以拿到你需要的10和2。
  • .strip()用来去除文本可能带的空白字符,保证结果干净。

内容的提问来源于stack exchange,提问作者jeffrey123520

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:37:37