Binance python websocket - нет ответа

Я пытаюсь запустить пример кода для binance websocket api с использованием python-binance и следую этому руководству: https://livedataframe.com/live-cryptocurrency-data-python-tutorial/

К сожалению, я не могу заставить его работать. Веб-сокет просто не отвечает, что приводит к пустому терминалу без каких-либо распечаток.

Я использую 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)

Вдобавок я могу запустить этот код, но api websocket, похоже, у меня не работает. С Уважением.

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)

person Kmopsuy    schedule 13.08.2020    source источник


Ответы (1)


Я удалил ошибочную информацию, которую я случайно разместил здесь. Остальная часть сообщения, к сожалению, больше не имеет такого смысла, как раньше: /

Остальная часть сообщения без ошибочной информации:

Для этого вы можете использовать unicorn-binance-websocket-api:

pip install unicorn-binance-websocket-api

Создайте подключение к Binance через веб-сокет:

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)

Просто попробуйте этот пример: https://github.com/oliver-zehentleitner/unicorn-binance-websocket-api/blob/master/example_userdata_stream.py

person Oliver    schedule 03.12.2020
comment
Оливер, библиотека, которую он использует в учебнике Liveataframe, python-binance это неофициальная библиотека, но она напрямую подключается к серверам binance так же, как unicorn-binance-websocket-api Ваш ответ выглядит хорошо, но первая строка вашего сообщения кажется ложной информацией. Так, может быть, вы можете удалить стороннее заявление? Если я здесь не ошибаюсь, пожалуйста, поясните. - person Gerrit Geeraerts; 08.01.2021
comment
Livedataframe также предлагает отдельный модуль pypi.org/project/livedataframe, что-то меня запутало. Извините за неверную информацию! - person Oliver; 10.01.2021
comment
Спасибо, это работает! - person Kmopsuy; 27.01.2021