vp-webdev
6 лет назадВытаскиваем материалы блокчейна в режиме реального времени
Сегодня мы продолжим цикл статей про анализ статей на голосе. Приведем код в более менее порядок и получим текст материала на голосе.
Первым делом был создан скрипт, я назвал его get.py, в него перенесём функции on_open, on_message, on_error и on_close. Теперь обращаться к ним будем так:
get.on_message
Пример создания соединения:
import get
ws = websocket.WebSocketApp("wss://ws18.golos.io/",
on_message=get.on_message,
on_error=get.on_error,
on_close=get.on_close)
Далее получим статьи и выведем их текст:
Для этого создадим функцию-обработчик, я назвал ее handler_mes, принимать будет объект, приходящий из блокчейна.
Вызывать ее будем, если id в запросе данных будет равно 2:
elif jsons.get('id') == 2:
Реализуем функцию:
def handler_mes(datas):
if len(datas) > 0:
for data in datas:
if data.get('op')[0] == 'comment' and data.get('op')[1].get('title') != '':
print(data.get('op')[1].get('body'))
- Первым делом проверяем не пуст ли блок.
- Проходимся по нему циклом
- Проверяем тип данных, нам нужен 'comment' и не пустое ли поле title
- Выводим текст
Результат работы.
Листинг main.py
Листинг get.py
В следующей статье будем добавлять статьи в базу данных.
Материал подготовлен автором @zheev