同时读取多个web套接字并用Python绘制数据

2024-09-22 16:34:10 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我对脚本编写还是比较陌生的,我确信这是微不足道的,但我似乎找不到解决方案。我想使用pythonwebsockets库来监听多个websockets,以便获得有关加密价格的股票信息。在

How to get real time bid / ask / price from GDAX websocket feed为获取一种货币的提要提供了一个良好的开端。在

问题是run_forever()不允许我同时显示两个feed,因为我无法中断它。在


Tags: to脚本信息getwebsocketstimefeed价格
1条回答
网友
1楼 · 发布于 2024-09-22 16:34:10

gdaxwebsocket允许订阅多个对。 如下所示,我订阅了BTC-USD和{}对。我想你可以订阅无限对。在

import websocket
from json import dumps, loads
try:
    import thread
except ImportError:
    import _thread as thread

def on_message(ws, message):
    parsed_msg = loads(message)
    print(parsed_msg["product_id"], parsed_msg["price"])

def on_open(ws):
    def run(*args):
        params = {
            "type": "subscribe",
            "channels": [{"name": "ticker", "product_ids": ["BTC-USD", "ETH-USD"]}]
        }
        ws.send(dumps(params))
    thread.start_new_thread(run, ())

if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = websocket.WebSocketApp("wss://ws-feed.gdax.com", on_open=on_open, on_message = on_message)
    ws.run_forever()

如果由于某种原因GDAX不允许这样做,您可以在多个线程中打开多个web套接字,但在这种情况下,这是不必要的。在

相关问题 更多 >