Вытаскиваем материалы блокчейна в режиме реального времени


Сегодня мы продолжим цикл статей про анализ статей на голосе. Приведем код в более менее порядок и получим текст материала на голосе.

Первым делом был создан скрипт, я назвал его 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
  • Выводим текст

Результат работы.
Imgur

Листинг main.py
Листинг get.py

В следующей статье будем добавлять статьи в базу данных.

Материал подготовлен автором @zheev

vox-populiпрограммированиеразработкаpythonголос
25%
3
276
247.926 GOLOS
0
В избранное
Web Development
Тех, кто презирает программистов, программисты презирают сильнее, чем те, кто презирает тех программистов, которые презирают тех, кто их презирает.
276
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (1)
Сортировать по:
Сначала старые