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

使用Python的binance.client获取BTC交易对生成价格字典的优化方案

Binance BTC交易对价格获取代码优化方案

原代码问题分析

你当前代码执行慢、逻辑冗余的核心原因有2个:

  • 循环内逐个调用client.get_avg_price()接口,每查询1个交易对就要发起1次API请求,遇到API频率限制还会自动等待,上百个BTC交易对自然要跑1分钟左右
  • 额外维护了2个列表存储交易对、价格,最后再合并为字典,完全可以直接在遍历过程中生成目标字典

优化方案

优先用Binance公开的批量查询接口,1次请求就能拿到所有交易对的价格数据,执行耗时可以压缩到1秒以内,同时简化逻辑直接生成字典。

优化后代码(获取最新成交价)

def get_btc_pair_prices():
    # 批量获取所有交易对最新成交价,仅发起1次API请求
    all_tickers = client.get_all_tickers()
    btc_price_dict = {}
    for ticker in all_tickers:
        symbol = ticker["symbol"]
        # 判断是否为BTC计价交易对(后缀为BTC),比切片判断逻辑更清晰
        if symbol.endswith("BTC"):
            btc_price_dict[symbol] = ticker["price"]
    return btc_price_dict

如果需要保留平均价格需求

如果你必须使用平均价格数据,也可以用批量24小时行情接口替代逐次请求,同样只发1次请求:

def get_btc_pair_avg_prices():
    # 批量获取所有交易对24小时行情,内含平均价格字段
    all_24h_ticker = client.get_ticker()
    btc_avg_price_dict = {}
    for ticker in all_24h_ticker:
        symbol = ticker["symbol"]
        if symbol.endswith("BTC"):
            btc_avg_price_dict[symbol] = ticker["weightedAvgPrice"]
    return btc_avg_price_dict

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:18:02