要解决这个问题,你可以使用Binance的WebSocket API来获取实时价格更新,而不是使用API客户端。以下是一个使用Python的示例代码:
import websocket
import json
def on_message(ws, message):
data = json.loads(message)
# 检查数据类型是否为价格更新
if data['e'] == 'aggTrade':
symbol = data['s'] # 交易对
price = data['p'] # 最新价格
print(f"Symbol: {symbol}, Price: {price}")
def on_error(ws, error):
print(error)
def on_close(ws):
print("Connection closed")
def on_open(ws):
# 订阅价格更新
ws.send('{"method": "SUBSCRIBE", "params": ["!ticker@arr"], "id": 1}')
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://stream.binance.com:9443/ws",
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()
这段代码使用了websocket
库来建立与Binance WebSocket API的连接,并在on_message
函数中解析和处理接收到的消息。on_open
函数会在连接建立后发送订阅消息,以便接收价格更新。你可以根据自己的需求在on_message
函数中添加逻辑来更新价格数据。