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

使用bs4的BeautifulSoup从HTML页面提取指定数值的实现方法

BeautifulSoup 提取目标数值解决方案

核心调整思路

  • 原有代码定位的是「Tokens Transferred」标题所在的容器,未命中实际存储数值的转账记录区域
  • BSC站点有基础反爬限制,请求时需要添加UA头伪装浏览器,避免返回403错误
  • 两个目标数值都存储在id为wrapperContent的列表容器下的两个<li>子节点中

完整可运行代码

import requests
from bs4 import BeautifulSoup

# 添加请求头伪装浏览器,规避站点反爬
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
test_url = 'https://bscscan.com/tx/0x0467727ae96fc0226bc876f0d3aa2332f1da3cec9599e52c683c74f60ec01409'
page = requests.get(test_url, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")

# 定位转账记录容器
transfer_list = soup.find('ul', id='wrapperContent')
items = transfer_list.find_all('li', class_='media')

# 提取第一个数值 6.172119857741811412
first_val_span = items[0].find('span', {'data-toggle': 'tooltip'})
first_val = first_val_span.get_text(strip=True).split(' ')[0]

# 提取第二个数值 721,073.7
second_val_span = items[1].find_all('span', class_='mr-1')[-3]
second_val = second_val_span.get_text(strip=True)

print("WBNB数量:", first_val)
print("DXT数量:", second_val)

提取逻辑说明

  1. 第一笔WBNB转账的数值包装在带有data-toggle="tooltip"属性的span标签中,文本内容自带后续的美元价格括号,按空格分割取第一段即可得到纯数值
  2. 第二笔DXT转账的数值在「For」关键词后的第三个mr-1类span中,直接提取文本并去除首尾空白即可得到目标数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:09:00