Binance WebSocket API 提供了获取实时市场深度的功能,但是每次市场深度更改时,返回的数据格式也会相应地更改。为了解决这个问题,可以通过使用 Python 中的 WebSocket 库进行订阅,并进行数据处理和存储。
示例代码:
import websocket
import json
def on_message(ws, message):
# 解析数据并进行处理
data = json.loads(message)
# 对数据进行处理或存储等操作
print(data)
def on_error(ws, error):
print(error)
def on_close(ws):
print("WebSocket closed")
def on_open(ws):
# 订阅需要的数据,例如 BTCUSDT 市场深度
ws.send('{"method":"SUBSCRIBE","params":["btcusdt@depth"],"id":1}')
if __name__ == "__main__":
# 连接到 Binance WebSocket API
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()
上述示例代码使用了 Python 中的 websocket 库,在连接到 Binance 的 WebSocket API 后,订阅了 BTCUSDT 市场深度数据,当市场深度发生变化时,会触发 on_message 回调函数并打印出相应的数据。可以根据实际情况进行更改和扩展。