我正在尝试订阅Bitfinex.com websocket API公共频道BTCUSD
。如何使用Python订阅Websocket API频道?
下面的代码:
from websocket import create_connection
ws = create_connection("wss://api2.bitfinex.com:3000/ws")
ws.connect("wss://api2.bitfinex.com:3000/ws")
ws.send("LTCBTC")
while True:
result = ws.recv()
print ("Received '%s'" % result)
ws.close()
我相信ws.send("BTCUSD")
是什么签约的公共频道?我收到一条消息,我认为这是确认订阅({"event":"info","version":1}
,但我以后没有收到数据流。我错过了什么?
更新:这是最终工作的代码。
import json
from websocket import create_connection
ws = create_connection("wss://api2.bitfinex.com:3000/ws")
#ws.connect("wss://api2.bitfinex.com:3000/ws")
ws.send(json.dumps({
"event": "subscribe",
"channel": "book",
"pair": "BTCUSD",
"prec": "P0"
}))
while True:
result = ws.recv()
result = json.loads(result)
print ("Received '%s'" % result)
ws.close()
如果您正在使用API,请先阅读文档。 http://docs.bitfinex.com/#subscribe-to-channels –
我已经彻底阅读了这些文件。据我所知,我错过了订阅频道的正确代码。然后通过https://pypi.python.org/pypi/websocket-client/查看所有文档,然后发送('LTCBTC')是订阅的正确方法。我究竟做错了什么? – Emily