我正在嘗試訂閱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