python websocket 爬虫代码
时间: 2023-07-23 07:53:34 浏览: 173
以下是一个使用Python中的websocket库实现WebSocket爬虫的示例代码,以获取Coinbase Pro交易所的BTC/USD实时价格为例:
```python
import websocket
import json
def on_open(ws):
# 连接成功后,发送订阅消息
sub_message = {
"type": "subscribe",
"channels": [{"name": "ticker", "product_ids": ["BTC-USD"]}]
}
ws.send(json.dumps(sub_message))
def on_message(ws, message):
# 接收到消息后,解析并输出价格信息
ticker = json.loads(message)
if ticker['type'] == 'ticker':
print('BTC/USD price:', ticker['price'])
if __name__ == '__main__':
ws = websocket.WebSocketApp("wss://ws-feed.pro.coinbase.com",
on_open=on_open,
on_message=on_message)
ws.run_forever()
```
代码中,首先使用websocket库创建WebSocket对象,并指定连接的目标地址。然后,在连接成功后,向服务器发送订阅消息,以获取指定交易对的实时价格信息。当接收到服务器返回的消息后,解析并输出价格信息。
需要注意的是,不同的交易所和数据源可能有不同的WebSocket订阅协议和消息格式,需要根据具体情况进行调整。另外,由于WebSocket连接的特殊性,代码中的WebSocket对象需要在程序运行期间一直保持连接状态,否则将无法接收到实时数据。
阅读全文