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

如何用BeautifulSoup提取HTML表格中Proj. EPS Growth (F1)对应数据

解决方案

你当前的代码仅提取了整个div容器的全部文本内容,没有做精准的元素定位,无法直接拿到目标数据,可按以下逻辑修改:

实现思路

  1. 首先定位到文本内容为Proj. EPS Growth (F1)的<th>标签,注意处理标签文本前后的多余空格避免匹配失败
  2. 找到该<th>标签后,提取它相邻的下一个<td>标签的文本即可拿到目标值

完整可运行代码

from bs4 import BeautifulSoup
import requests

# 替换为你实际的请求url
url = "你的目标页面地址"
page = requests.get(url)
soup = BeautifulSoup(page.content, 'lxml')

# 匹配目标th标签,strip处理文本前后空白符
target_th = soup.find(
    'th', 
    class_='alpha', 
    string=lambda s: s and s.strip() == 'Proj. EPS Growth (F1)'
)

if target_th:
    # 提取相邻td的文本
    eps_growth = target_th.find_next_sibling('td').get_text(strip=True)
    print(eps_growth) # 输出结果为 39.74%
else:
    print("未找到对应字段")

说明

  • 用lambda处理匹配逻辑是因为你提供的示例HTML中<th>的文本末尾带有多余空格,直接完全匹配会识别失败,strip()可以清除前后所有空白符(空格、换行等)提升匹配兼容性
  • find_next_sibling('td')会直接查找当前标签同级的下一个<td>元素,正好对应<th>后面的数值单元格,不需要遍历整个表格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:54:03