python - Binance python websocket - 没有响应
问题描述
我正在尝试使用 python-binance 并按照本教程运行 binance websocket api 的示例代码: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)
解决方案
我已经删除了我无意中在此处发布的错误信息。不幸的是,帖子的其余部分不再像以前那样有意义:/
没有错误信息的帖子的其余部分:
为此,您可以使用 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)
推荐阅读
- json - 我可以用这个 json 响应做一个 POJO 吗?
- python - 层sequential_10的Keras LSTM Input 0与层不兼容
- php - 在 laravel/vue 的产品页面中显示多个类别(多对多)
- google-apps-script - 使用来自前一个迭代器的延续令牌恢复文件迭代
- python - 我的网站获取静态文件时遇到问题
- reactjs - useEffect 不应用类名
- r - 时间序列作为等距刻度的因子
- python - 为什么这个 numpy 结构有效,有没有更正确的方法
- javascript - 如何检测参数字符长度而不是参数数量
- javascript - Javascript Destructuring设置对象属性