使用 python3编写一个 获取火币实时行情完整方法socket地址 wssapi-awshuobiprows实时行情订阅 marketbtcusdttradedetail
以下是使用Python3编写的获取火币实时行情完整方法:
import websocket
import json
def on_message(ws, message):
data = json.loads(message)
if 'ping' in data:
# 回应心跳检测
ws.send(json.dumps({'pong': data['ping']}))
else:
# 处理行情数据
print(data)
def on_error(ws, error):
print(error)
def on_close(ws):
print("Connection closed.")
def on_open(ws):
# 订阅实时行情
ws.send('{"sub": "market.btcusdt.trade.detail", "id": "btcusdt"}')
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://api-aws.huobi.pro/ws",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()
在上述代码中,我们使用了Python的websocket库来连接火币API的WebSocket接口,通过订阅实时行情来获取市场数据。具体实现中,我们实现了4个回调函数:
on_open: 连接成功后的回调函数,我们在这里订阅了实时行情。on_message: 接收到消息后的回调函数,我们在这里处理行情数据。如果收到的消息是心跳检测的ping消息,则回应pong消息;否则就是行情数据,我们直接打印出来。on_error: 连接出错时的回调函数,我们在这里打印出错信息。on_close: 连接关闭时的回调函数,我们在这里打印提示信息。
在主函数中,我们首先启用了WebSocket库的调试模式,然后创建了一个WebSocketApp对象,指定了上述4个回调函数。最后,我们调用run_forever方法来启动WebSocket连接,程序会一直运行,直到连接断开为止
原文地址: https://www.cveoy.top/t/topic/fiVC 著作权归作者所有。请勿转载和采集!