如何使用BeautifulSoup提取td标签内第一个span标签的金额文本
使用BeautifulSoup提取目标文本的操作说明
第一步:安装依赖库
执行以下命令安装BeautifulSoup及解析器:pip install beautifulsoup4 lxml
如果不想额外安装解析器,也可以使用Python自带的html.parser,不需要额外安装。第二步:编写提取代码
完整可运行的示例代码如下:
# 导入BeautifulSoup类 from bs4 import BeautifulSoup # 你给出的目标HTML片段,实际使用时可以替换为爬虫请求拿到的网页源码 target_html = ''' <td><span>$39,465,077,974.88</span><div><span class="sc-15yy2pl-0 kAXKAX" style="font-size:12px;font-weight:600"><span class="icon-Caret-up"></span>4.59<!-- -->%</span></div></td> ''' # 创建解析对象,第二个参数是解析器,用自带解析器可以替换为'html.parser' soup = BeautifulSoup(target_html, 'lxml') # 提取目标文本:方法1 逐层定位 # 先找到td标签,再取它的第一个直接子span的文本 result = soup.find('td').span.get_text(strip=True) # 提取目标文本:方法2 CSS选择器定位(更精准,避免匹配到嵌套的span) # result = soup.select_one('td > span:first-child').get_text(strip=True) print(result)
运行上述代码后输出的结果就是你需要的$39,465,077,974.88。
- 注意事项
使用td > span的选择器规则是只匹配td的直接子元素span,不会匹配到td内部div里嵌套的span,能有效避免拿错内容;strip=True参数会自动去掉文本前后的空白字符,不需要的话可以去掉。
内容的提问来源于stack exchange,提问作者Dev Nocz
相关产品推荐
相关产品推荐

