Binance python websocket - 无响应
Binance python websocket - no response
我正在尝试 运行 binance websocket api 的示例代码,使用 python-binance 并遵循本教程:https://livedataframe.com/live-cryptocurrency-data-python-tutorial/
不幸的是我不能让它工作。 websocket 只是不响应导致空终端的结果,没有任何打印出来。
我正在使用 python 3.7.8,PyCharm IDE,Windows 10
请帮忙,谢谢!
import time
from binance.client import Client # Import the Binance Client
from binance.websockets import BinanceSocketManager # Import the Binance Socket Manager
_API_KEY = "mykey"
_API_SECRET = "mykey"
client = Client(_API_KEY, _API_SECRET)
# Instantiate a BinanceSocketManager, passing in the client that you instantiated
bm = BinanceSocketManager(client)
# This is our callback function. For now, it just prints messages as they come.
def handle_message(msg):
print(msg)
# Start trade socket with 'ETHBTC' and use handle_message to.. handle the message.
conn_key = bm.start_trade_socket('ETHBTC', handle_message)
# then start the socket manager
bm.start()
# let some data flow..
time.sleep(10)
# stop the socket manager
bm.stop_socket(conn_key)
此外,我可以 运行 此代码,但 websocket api 似乎对我不起作用。
问候。
from binance.client import Client
_API_KEY = "key"
_API_SECRET = "key"
client = Client(_API_KEY, _API_SECRET)
btc_price = client.get_symbol_ticker(symbol="BTCUSDT")
# print full output (dictionary)
print(btc_price)
我删除了无意中 post 此处的错误信息。不幸的是,post 的其余部分不再像以前那样有意义了:/
其余 post 没有错误信息:
为此,您可以使用 unicorn-binance-websocket-api:
pip install unicorn-binance-websocket-api
创建到 Binance 的 websocket 连接:
from unicorn_binance_websocket_api.unicorn_binance_websocket_api_manager import BinanceWebSocketApiManager
binance_websocket_api_manager = BinanceWebSocketApiManager(exchange="binance.com")
binance_com_websocket_api_manager.create_stream('arr', '!userData', api_key=binance_com_api_key, api_secret=binance_com_api_secret)
还有4行打印接收到的数据记录:
while True:
oldest_stream_data_from_stream_buffer = binance_websocket_api_manager.pop_stream_data_from_stream_buffer()
if oldest_stream_data_from_stream_buffer:
print(oldest_stream_data_from_stream_buffer)
最新版本如python-binance
v1.0.15 使用:
import asyncio
from binance import Client, ThreadedWebsocketManager, ThreadedDepthCacheManager
或
from binance import AsyncClient, DepthCacheManager, BinanceSocketManager
client = Client (api_key, api_secret)
@Daniel Droguett Quezada,应该是这个
async_client = await AsyncClient.create(api_key, api_secret)
我正在尝试 运行 binance websocket api 的示例代码,使用 python-binance 并遵循本教程:https://livedataframe.com/live-cryptocurrency-data-python-tutorial/
不幸的是我不能让它工作。 websocket 只是不响应导致空终端的结果,没有任何打印出来。
我正在使用 python 3.7.8,PyCharm IDE,Windows 10
请帮忙,谢谢!
import time
from binance.client import Client # Import the Binance Client
from binance.websockets import BinanceSocketManager # Import the Binance Socket Manager
_API_KEY = "mykey"
_API_SECRET = "mykey"
client = Client(_API_KEY, _API_SECRET)
# Instantiate a BinanceSocketManager, passing in the client that you instantiated
bm = BinanceSocketManager(client)
# This is our callback function. For now, it just prints messages as they come.
def handle_message(msg):
print(msg)
# Start trade socket with 'ETHBTC' and use handle_message to.. handle the message.
conn_key = bm.start_trade_socket('ETHBTC', handle_message)
# then start the socket manager
bm.start()
# let some data flow..
time.sleep(10)
# stop the socket manager
bm.stop_socket(conn_key)
此外,我可以 运行 此代码,但 websocket api 似乎对我不起作用。 问候。
from binance.client import Client
_API_KEY = "key"
_API_SECRET = "key"
client = Client(_API_KEY, _API_SECRET)
btc_price = client.get_symbol_ticker(symbol="BTCUSDT")
# print full output (dictionary)
print(btc_price)
我删除了无意中 post 此处的错误信息。不幸的是,post 的其余部分不再像以前那样有意义了:/
其余 post 没有错误信息:
为此,您可以使用 unicorn-binance-websocket-api:
pip install unicorn-binance-websocket-api
创建到 Binance 的 websocket 连接:
from unicorn_binance_websocket_api.unicorn_binance_websocket_api_manager import BinanceWebSocketApiManager
binance_websocket_api_manager = BinanceWebSocketApiManager(exchange="binance.com")
binance_com_websocket_api_manager.create_stream('arr', '!userData', api_key=binance_com_api_key, api_secret=binance_com_api_secret)
还有4行打印接收到的数据记录:
while True:
oldest_stream_data_from_stream_buffer = binance_websocket_api_manager.pop_stream_data_from_stream_buffer()
if oldest_stream_data_from_stream_buffer:
print(oldest_stream_data_from_stream_buffer)
最新版本如python-binance
v1.0.15 使用:
import asyncio
from binance import Client, ThreadedWebsocketManager, ThreadedDepthCacheManager
或
from binance import AsyncClient, DepthCacheManager, BinanceSocketManager
client = Client (api_key, api_secret)
@Daniel Droguett Quezada,应该是这个
async_client = await AsyncClient.create(api_key, api_secret)