通过火币网提供的 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)