Формулировка проблемы: необходимо собирать новости из различных источников, включая блог-платформы.
Решение: необходимо реализовать возможность сбора новостей из блог-платформ по следующей комбинированной схеме:
Мы разделяем блог-платформы (в т.ч. соцсети) на два типа — с
возможностью чтения ленты (на данный момент поддерживается
только twitter
), и с доступом через поисковые
системы (любые, настраиваются в административном интерфейсе, см.
Иллюстрация 20: Добавление/редактирование блог-платформы с
доступом через поисковую систему)
Для блог-платформ с возможностью чтения ленты заводится собственный тип источника новостей со всеми параметрами учётной записи, которые нужны для чтения ленты.
Пользователь этой блог-платформы вне
Arta Intelligence
(через собственный
интерфейс блог-платформы) подписывается на те блоги, сообщества
и т. п., которые должны попадать в его ленту.
Посты из ленты складываются в
Arta Intelligence
в качестве новостей (если у
поста нет заголовка, то он отображается так, как показано на
Иллюстрация 16: Отображение типа источника новости).
Пользователи Arta Intelligence
, входящие в
определённую группу Arta Synergy
, имеют
возможность добавить одну или несколько тем для поиска. Каждая
тема представляет собой набор ключевых слов или словосочетаний
(добавляемых в виде тэгов, см. Иллюстрация 18: Настройки поиска
по блог-платформам, пользовательский интерфейс). Если ключевые
слова, найденные по теме, встретились в каком-либо посте
загружаемых лент, то осуществляется однократный поиск с этими
ключевыми словами по всем настроенным блог-платформам с доступом
через поисковые системы; найденные посты добавляются в новости
Arta Intelligence
Пользователи могут получить отчёт, содержащий новости по
какой-либо теме, в стандартного для
Arta Intelligence
отчёта по выборке новостей
Свойства поста блог-платформы:
Заголовок (может отсутствовать);
Текст поста;
Дата/время создания;
Человеко-читаемое имя автора (например, «Владимир Путин» или
«Новостное агентство Интерфакс»). Если человеко-читаемое имя
автора отсутствует, то в качестве имени для
Arta Intellgence
(отображаемое в нижней
строке плашки новости) используется логин-имя автора либо
идентификатор в этой блог-платформе (например,
@KermlinRussia
).
Гиперссылка на этот пост (для перехода от плашки новости
AI
по клику по имени автора).
Настройки для блог-платформ с доступом через поисковые системы:
Название:
URL — используется в запросе к поисковой системе для выделения
результатов только из нужной блог-платформы, пример:
livejournal.com
.
Поисковый механизм — механизм отправки запроса на поиск и
получения его результатов, например: поисковая машина
Google
.
Шаблон — инструкция на специальном языке для выделения из «сырого» результата поиска текста новости, автора и т. д. Может быть пустым.
Иконка — значок, который будет использоваться в отображении источника (см. задачу 2.43.AI8). Может быть пустым.
Схема складирования постов блог-платформ в хранилище
Arta Synergy
: [корневая директория для AI] → [Имя
автора, см. выше] → [год] → [месяц] → [день] → [заголовок].htd