Python中高效遍历币种列表调用Bittrex API获取价格的方法
更高效获取多币种Bittrex价格的方法
嘿,你的问题很典型——循环发起数百次HTTP请求确实会因为网络握手、延迟等开销拖慢效率,幸好Bittrex API提供了批量获取所有交易对数据的接口,完美解决这个问题!
核心方案:使用getmarketsummaries接口
Bittrex的/api/v1.1/public/getmarketsummaries接口不需要指定单个交易对,会一次性返回平台所有交易对的汇总数据,包括当前价格(Last字段)、成交量、最高价/最低价等信息。这样你只需要发起1次请求,就能拿到所有需要的数据,再从中筛选出你关心的币种即可。
示例代码
import requests import pandas as pd # 你需要的币种列表 marketnames = ["BTC-LTC", "BTC-ETH", "BTC-BCH"] # 示例列表 # 发起一次批量请求 response = requests.get('https://bittrex.com/api/v1.1/public/getmarketsummaries').json() # 把返回数据转换成DataFrame all_markets_df = pd.DataFrame(response['result']) # 筛选出你需要的币种数据 filtered_df = all_markets_df[all_markets_df['MarketName'].isin(marketnames)] # 打印结果,只保留关键字段(可选) print(filtered_df[['MarketName', 'Last', 'Volume', 'High', 'Low']])
为什么这比循环高效?
- 减少了HTTP请求次数:从200次变成1次,避免了多次TCP握手、请求头传输等重复开销
- 降低了网络延迟累积:单次请求的延迟远小于200次请求的延迟总和
- 代码更简洁,维护成本更低
小提示
注意你原来代码里的拼写错误:pandas.Dataframe应该是pandas.DataFrame(首字母F大写),不然会报错哦~
内容的提问来源于stack exchange,提问作者jake wong
相关产品推荐
相关产品推荐

