技术初心

Python订阅火币KLine数据

2021-05-20  本文已影响0人  triplestudio

通过火币网提供的 websocket 地址,可以方便的取得KLine数据。经验证,当大陆访问时可使用地址:wss://api.huobiasia.vip/ws,其它地区则可使用:wss://api.huobipro.com/ws。以下Python代码尝试访问其中一个失败之后再连接第二个,测试可用。

代码依赖准备:

pip install websocket-client

完整代码

import websocket
import gzip
import sys

if __name__ == '__main__':
    try:
        ws = websocket.create_connection("wss://api.huobipro.com/ws", 2) # timeout 2 seconds
    except:
        print('connection failed! try another one.') 
        try:
            ws = websocket.create_connection("wss://api.huobiasia.vip/ws", 2)
        except:
            print('connection failed!') 
            sys.exit(1)
            

    # 订阅 KLine 数据 
    topic = '{"sub": "market.ethusdt.kline.5min","id": "id10"}'
    ws.send(topic)
    while(True):
        oriData=ws.recv() 
        result=gzip.decompress(oriData).decode('utf-8')
        
        if result[:7] == '{"ping"':
            ws.send(result.replace('ping', 'pong'))
            ws.send(topic)  
        else:
            print(result)

参考 https://www.cnblogs.com/luhouxiang/p/8982787.html

上一篇下一篇

猜你喜欢

热点阅读