使用Python通过WebSockets访问API

时间:2016-01-30 18:33:19

标签: python api websocket

爱好编码员在这里做周末项目。

我希望访问此处提供的公开API:https://api.coinsecure.in/ 它为我们提供了BitCoin交易数据 - API是通过我不熟悉的websockets。

Websocket URI是wss://coinsecure.in/websocket 我希望测试的方法是:{"方法":" recentbuytrades"}

我可以使用" websocket-client"来访问WebScocket API。在Python中列出:https://pypi.python.org/pypi/websocket-client/

但遗憾的是,我无法弄清楚如何检索特定方法的数据 - {"方法":" recentbuytrades"}

非常感谢您在提取此特定方法的数据时可以提供的任何指导。

最佳, 莱恩

[编辑] 我正在使用的当前代码是:

from websocket import create_connection
ws = create_connection("wss://coinsecure.in/websocket")
result =  ws.recv()
print ("Received '%s'" % result)
ws.close()

1 个答案:

答案 0 :(得分:8)

试试这个:

from websocket import create_connection
ws = create_connection("wss://coinsecure.in/websocket")
ws.send('{"method": "recentbuytrades"}')

while True:
  result =  ws.recv()
  print ("Received '%s'" % result)

ws.close()

请注意ws.send()方法,该方法告诉API您想要什么。接下来,while True无限循环 - WebSockets是无限连接;信息通常不止一次发送给他们。你会从服务器(看起来像JSON)获得一堆信息(一个'框架'),处理它,然后等待下一批信息。

看起来API也会向您发送您不一定需要的数据。如果框架不包含recentbuytrades密钥,您可能希望抛出框架。