如何用Selenium的execute_script方法抓取币安1秒实时加密货币价格
解决币安1秒级实时BTC/USDT价格抓取问题
核心实现方案
直接通过Selenium的execute_script方法执行JavaScript,定位到目标元素并提取实时更新的价格文本。
完整代码示例
from selenium import webdriver import time # 初始化Chrome浏览器驱动(需提前配置对应版本的ChromeDriver) driver = webdriver.Chrome() driver.get("https://www.binance.com/zh-CN/trade/BTC_USDT") try: # 循环实现每秒抓取一次 while True: # 执行JS定位元素并获取价格文本 raw_price = driver.execute_script('return document.querySelector(".showPrice").textContent;') # 清理价格中的千位分隔符,转为数值类型(可选操作) real_time_price = float(raw_price.replace(',', '')) print(f"BTC/USDT 1秒级实时价格:{real_time_price}") time.sleep(1) except KeyboardInterrupt: print("程序已手动终止") finally: # 关闭浏览器 driver.quit()
关键细节说明
document.querySelector(".showPrice"):通过类名精准匹配你指定的目标元素textContent:直接提取元素内的文本内容,能获取到页面通过JavaScript实时更新的价格- 循环搭配
time.sleep(1),刚好满足1秒级的抓取频率要求
注意事项
- 确保浏览器驱动版本与本地浏览器版本一致,否则会出现启动失败问题
- 币安页面存在反爬机制,若遇到人机验证,需手动完成验证后再让程序继续运行
- 若后续页面元素的类名发生变更,需同步修改JS代码中的选择器
内容的提问来源于stack exchange,提问作者im_bad_at_this
相关产品推荐
相关产品推荐

