В данной статье рассмотрим новый коннектор OsEngine для получения новостей из каналов стандарта RSS и Atom.
RSS (Really Simple Syndication) и Atom — это два формата синдикации веб-контента, которые позволяют пользователям подписываться на обновления сайтов, блогов и новостных ресурсов через специальные программы-агрегаторы или браузеры.
Если при использовании OsEngine вы хотите в своем роботе получать новости и как-то их использовать, необходимо найти новостной портал с интересующей вас информацией и убедиться в наличии у него RSS канала, который обычно отмечен значком.
Либо, если ни того, ни другого нет, выявить наличие канала на сайте можно, прибавив к URL адресу сайта /rss.
При переходе по ссылке на RSS канал в браузере отобразится документ в виде XML разметки, и обычно он начинается с объявления версии стандарта RSS.
Рис.1 Страница с содержимым RSS канала на сайте https://www.profinance.ru/econom.xml
Копируем адрес страницы для дальнейшего использования.
Запускаем OsEngine и выбираем Bot Station Light.
Нажимаем вкладку Connection Servers и в списке коннекторов находим RSSNews, на который жмем двойным щелчком ЛКМ.
В появившемся окне параметров нам нужны только два:
1. RSS feed URL – для ввода скопированного ранее адреса RSS канала.
Также в это поле можно вводить адреса разных каналов через запятую, чтобы получать новости из различных источников.
2. Update period news (sec) – для указания периода обновления новостей. То есть с какой частотой коннектор будет проверять наличие новых записей на сайте.
Узнать необходимый интервал примерно можно, просмотрев строки с временем публикации новостей на странице RSS канала:
Нажимаем кнопку Connect.
При успешном подключении статус коннектора перейдет в состояние Connect, и на вкладке Logging появится запись с названием загруженного канала. Если в параметрах было указано несколько каналов и на какой-то из них не удалось подписаться, об этом появится сообщение, и коннектор продолжит работу с каналами, к которым удалось подключиться.
Далее добавляем бота, у которого в списке источников присутствует News. Задаем ему уникальное имя и нажимаем Accept:
Далее необходимо настроить бота на получение новостей из определенного коннектора. Нажимаем кнопку Chart, вкладку Control и кнопку Data settings. В появившемся окне выбираем RSSNews и указываем количество новостей, которые будут отображаться в интерфейсе программы. Нажимаем Accept:
С этого момента бот получит одну самую последнюю новость, она же отобразится в специальном окне. По мере поступления новостей они будут заполнять окно программы.
В столбце News содержится и заголовок, и полная новость из RSS канала. Это сделано всвязи с тем, что не все сайты соблюдают стандарты и правильно формируют страницу RSS канала. Вместо полной новости может быть просто ссылка на страницу сайта или изображение.
Также не все страницы RSS каналов, которые открываются в браузере, могут быть загружены в OsEngine. Это может быть связано с настройками сервера или ошибками в XML документе.
---------------------------------------
Список адресов некоторых RSS каналов популярных порталов, которые корректно работают с коннектором:
https://rssexport.rbc.ru/rbcnews/news/30/full.rss — РБК
https://www.profinance.ru/fond.xml — Новости фондового рынка от profinance.ru
https://www.profinance.ru/econom.xml — Новости экономики от profinance.ru
https://www.finam.ru/analysis/conews/rsspoint/ — Новости компаний от Финам
https://bonds.finam.ru/news/today/rss.asp — Новости облигаций от Финам
https://www.kommersant.ru/rss-list — список RSS каналов портала Коммерсант
Удачных алгоритмов!
Оглавление данной серии статей здесь. https://smart-lab.ru/company/os_engine/blog/1126598.php
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php