#python #python-3.x #websocket
Вопрос:
Я настраиваю программу на python для извлечения данных о криптовалютах из binance, но веб-сайт, который я использую, приостанавливает весь код после его выполнения.
import websockets
import websocket, json
import asyncio
def establishDefaultConnection():
#websocket.enableTrace(True)
def on_open(message):
ws.send(loginStr)
print("The default connection was opened")
def pipeData(ws, message):
print(message)
def on_error(ws, message):
print(message)
def on_close(message):
print("She gone")
# Declare some variables
socket = "wss://stream.binance.us:9443/stream?streams="
loginStr = '{"method": "SUBSCRIBE","params": ["btcusd@kline_1m","btcusd@kline_3m"],"id": 1}'
ws = websocket.WebSocketApp(socket, on_open=on_open, on_message=pipeData, on_error=on_error, on_close=on_close)
ws.run_forever()
establishDefaultConnection())
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Code was executed later>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
Команда печати никогда не будет выполняться, как и ничего после команды «ws.run_forever()». В этой документации по веб-сокетам эта команда называется циклом, но я не могу сказать, на чем она зацикливается.
Я попытался настроить асинхронную операцию, но это еще не сработало — хотя это может быть моей ошибкой, так как я все еще учусь использовать asyncio
Любая помощь здесь была бы очень признательна — я буду в сети в течение следующих 2 часов, чтобы немедленно ответить на вопросы или поговорить об этой проблеме.
РЕДАКТИРОВАТЬ: Я хочу отметить, что этот веб — сайт действительно работает-он отлично передает данные, но никакой другой код не запускается. Кроме того, любые комментарии по поводу моей методологии также будут оценены — опять же, я новичок в python и сетевом/асинхронном кодировании.