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

如何使用BeautifulSoup提取div标签内文本?提取返回None如何解决

问题根因

你使用urllib+BeautifulSoup抓取返回None的核心原因是:

  • Binance交易页面的价格数据属于前端JavaScript动态渲染内容,urllib发送的普通HTTP请求只能拿到未执行JS的静态初始HTML,该静态源码中不存在你要查找的class="subPrice"的div标签,因此find方法返回None,调用get_text()会直接报错。
    你后续使用Selenium能成功获取数据,是因为Selenium会调用真实浏览器内核,会等待页面JS执行完成、DOM完全渲染后再提取内容,自然能拿到动态生成的价格元素。
数据格式处理

拿到完整的价格字符串$47,864.58后,你可以直接通过字符串切片得到需要的$47,864.5:

full_price = "$47,864.58"
target_price = full_price[:-1] # 移除最后一位字符,输出结果为$47,864.5
替代优化方案(可选)

如果不想使用Selenium(占用资源较高),你可以直接调用Binance公开的现货行情接口获取价格,请求效率更高,返回的是结构化JSON数据无需解析HTML:

import requests

res = requests.get("https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT")
price_data = res.json()
# 格式化输出成你需要的带美元符号、千分位、保留一位小数的格式
formatted_price = f"${float(price_data['price']):,.1f}"
print(formatted_price)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:45:02