Wie Sie Sie Abonnieren, Um Websocket-API-Kanal Mit Python?
Ich versuche zu abonnieren Bitfinex.com mit der websocket-API öffentlichen Kanal BTCUSD
.
Hier der code:
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()
Ich glaube ws.send("BTCUSD")
ist, was abonniert den öffentlichen Kanal? Ich bekomme eine Nachricht zurück, die ich denke, ist die Bestätigung der Abonnement -({"event":"info","version":1}
, aber ich habe nicht den Datenstrom danach. Was bin ich?
Update: Hier ist der code endlich funktioniert.
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()
- Wenn Sie arbeiten mit einer API, Lesen Sie in der Dokumentation erste. docs.bitfinex.com/#subscribe-to-channels
- Ich habe gründlich Lesen Sie die Dokumente. Und soweit ich das beurteilen kann, mir fehlt der richtige code zum abonnieren des Kanals. Dennoch gehen durch die Dokumentation hier pypi.python.org/pypi/websocket-client dann send('LTCBTC') ist die richtige Art und Weise zu abonnieren. Was mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Dokumentation sagt alle Nachrichten werden JSON-kodiert.
Müssen Sie es importieren
json
Bibliothek, zum verschlüsseln und entschlüsseln Ihrer Nachrichten.Die Dokumentation erwähnt drei öffentliche Kanäle:
book
,trades
undticker
.Wenn Sie möchten, um einen Sender zu abonnieren, müssen Sie zum senden einer subscribe-event.
Beispiel für das abonnieren des LTCBTC trades, nach die Dokumentation:
Dann müssen Sie auch analysieren das eingehende JSON-codierte Nachrichten.