使用 Python 的 websocket 库来订阅 Binance 的 WebSocket API
时间: 2024-10-08 16:21:35 浏览: 76
在Python中,可以使用`websockets`库来处理WebSocket连接,而Binance提供了一个WebSocket API供开发者实时获取市场数据。以下是使用`websockets`订阅Binance WebSocket的一个简单步骤:
首先,你需要安装`websockets`库,如果你还没有安装,可以在命令行运行:
```bash
pip install websockets
```
然后,你可以编写一个Python脚本来订阅指定的Binance WebSocket,例如获取最新的K线数据(TICKER频道):
```python
import asyncio
import websockets
from binance.websockets import BinanceSocketManager
# 创建BinanceSocketManager实例
bm = BinanceSocketManager()
async def on_message(ws, message):
# 这里处理接收到的消息
print(f"Received message: {message}")
async def main():
url = "wss://stream.binance.com:9443/ws/BTCUSDT@ticker"
async with websockets.connect(url) as ws:
await bm.start_kline_socket("BTCUSDT", on_message)
try:
while True:
await asyncio.sleep(1)
except KeyboardInterrupt:
print("Closing socket...")
await bm.stop_all_streams()
if __name__ == "__main__":
asyncio.run(main())
```
在这个例子中,`on_message`函数会被用来处理从Binance服务器接收的每一条新的K线数据更新。`start_kline_socket`方法会启动K线推送。
阅读全文