Формулировка проблемы: необходимо собирать новости из различных источников, включая блог-платформы.
Решение: необходимо реализовать возможность сбора новостей из блог-платформ по следующей комбинированной схеме:
Мы разделяем блог-платформы (в т.ч. соцсети) на два типа — с
возможностью чтения ленты (на данный момент поддерживается
только 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