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

学习《Automate the Boring Stuff》爬取Binance BTC价格时CSS选择器返回0

问题原因

你拿到的返回值为0是因为币安官网的价格数据是动态渲染的:

  • 你用requests拉取的是页面初始静态HTML,此时价格相关节点还没有被JavaScript填充实时数据,初始占位值就是0
  • 你用来定位的CSS类名css-11d5f40属于前端框架自动生成的动态类名,平台随时可能更新调整,定位稳定性极差

最优解决方案

不需要爬取前端页面,直接调用币安公开的现货价格接口即可,无需鉴权就能直接获取结构化的实时价格数据,示例代码如下:

import requests

# 调用币安公开现货价格接口,指定交易对为BTC/BUSD
res = requests.get('https://api.binance.com/api/v3/ticker/price?symbol=BTCBUSD')
res.raise_for_status()
price_info = res.json()

# 输出实时价格
print(price_info['price'])

其他替代方案

如果你确实需要爬取前端页面数据,需要使用支持JavaScript渲染的工具(如Selenium、Playwright),等待页面完全加载完成后再提取对应数据,即可拿到正常的非0价格。同时建议尽量使用元素的固定属性定位,不要依赖动态生成的CSS类名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:36:05