Недавно задумался над созданием единой новостной ленты из всего, что я читаю. Видел варианты со сведением всего счастья в телеграмм, но мне больше приглянулся Pocket.
Почему? Этот парень выкачивает всё в удобочитаемом формате и отлично работает на всех девайсах, включая читалку.
Всем, кому интересно — добро пожаловать под кат.
Дано: новостные ленты, которые я читаю: threatpost, habr, medium, один паблик со статьями во vk.com, и 2-3 канала в telegram.
Самый простой вариант, который я нашёл – сделать из всех читаемых ресурсов RSS feed(ы) и интегрировать с Pocket.
Немного теории об RSS, если вдруг кто не сталкивался с данной технологией.
Выглядит примерно вот так
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Заголовок статьи</title>
<link>Ссылка на ресурс</link>
<description>
<![CDATA[
<div>
<div>
Контент
</div>
</div>
</div>
]]>
</description>
</rss>
Информация из RSS feed выкачивается в текстовом формате, причём только последние обновления. Обычно обновление происходит 2 часа.
Причём RSS feed-ы можно агрегировать друг с другом и получать из них единую ленту новостей (единый RSS feed) со всех интересующих ресурсов.
Для интеграции rss feed с pocket-ом я нашёл такой вот чудесный портал — ifttt.com — позволяющий настраивать апплеты для перенаправления rss в покет с возможностью расстановки тегов для более удобного поиска/сортировки статей.
Регистрация на ifttt.com бесплатная.
Начнём с threatpost
Здесь вроде всё просто. У ресурса есть rss канал, ссылка на который красуется прямо в самом верху страницы.
Просто копируем её (https://threatpost.ru/rss) и идём с ней в platform.ifttt.com.
1) «Пробуем сейчас».
2) Проходим регистрацию, Company name -> Any
3) Во вкладке Applets создаём New Applet.
4) Trigger выбираем RSS feed
5) В нашем случае выбираем New feed item.
New feed itemПри каждой новой записи в RSS feed добавит новость в pocket
New feed item matchesТолько при указанных критериях сортировки добавит запись в pocket
6) Visibility – set by you. И в value вставляем rss ресурса.
Можно так же поставить customizable by the user. Это позволит людям, которые захотят воспользоваться вашим апплетом самим ставить value RSS Feed-а.
7) Ниже выбираем action (Add action). И добавляем Pocket.
8) В выпадающем списке выбираем единственный пункт — Save for latter.
Feed label URLВ данном случае {{EntryUrl}} будет отображаться как
Feed label TagsСоветую убрать IFTTT и FeedTitle и заменить на {{EntryAuthor}}. Т.к FeedTitle итак подтягивается в каждую запись, а вот имя специфичного автора мне пожалуй важно. В конце концов в pocket я смогу фильтровать по авторам, если они мне интересны, а если не интересны, то просто поставить потом фильтр New feed item matches и выбрать только интересных авторов.
9) Вводим название, дескрипшен и вперёд (Save).
10) Нас перебрасывает на страницу свежесозданного апплета. Проматываем вниз и находим.
11) «Турним апплет он». Вас перебросит на страницу с апплетом, там жмём ту же саму кнопку, что выделена на картинке выше и спустя пару секунд видим надпись – Success, applet turned on.
Сustomize by userЕсли вы выбирали в 6 пункте customize by user, здесь вам необходимо подставить будет ссылку на Rss feed в новом меню, если нет, то Success.
12) Чтобы посмотреть активные апплеты перейдите по ссылке
Habr
Для интеграции с habr нам нужен rss интересующих нас хабов/авторов. Для его получения заходим на интересующий нас хаб, открываем дом дерево в консоли браузера и вбиваем в поиске по dom – rss.
Аналогично и с конкретным автором которого читаем.
Лично у меня после выкуривания rss из всех хабов и людей которых читаю на хабре скопилось порядком ссылок. Поэтому был найден следующий инструмент — rssmix.com. Скармливаем в него, разделяя знаком переноса каретки, все интересующие нас хабровские rss ленты и генерируем новую, уже всеобъемлющую ленту.
Дальше назад к platform.ifttt.com и, лично я — создавал новый апплет, чтобы можно было на каждый ресурс навесить свои теги и красивенько впихнуть в pocket. Но в принципе можете и всё через rssmix добавить к старому rss каналу в предыдущем апплете.
Medium
Честно говоря, с медиумом то же самое, что с habr. Есть вариант через уже готовый апплет на ifttt.com, но я выдирал из всех авторов и интересов rss. И фильтровал в rss->pocket апплете ifttt.com.
Vk.com
Маялся дольше обычного, но как оказалось всё не так страшно. Как такового rss там нету, есть какие-то генераторы rss лент в стиле vkrss.com но вот с pocket оно плохо дружит и к тому же ещё денег просит. На счастье нашёлся politepol.com.
Интерфейс забавный. Принцип следующий.
1) Скармливаете в инпут ссылку на статьи группы -> go.
Где взять ссылку на статьи группы vkУ каждой статьи в vk своя достаточно читабельная ссылка, в стиле vk.com/@mygroup-belarus-i-cvetenie-sakuri. Вот начало ссылки
2) Далее ждём пока отрендерится интересующая нас страница со статьями в вк
3) Видим похожую картину.
4) Нажимаем на кнопку title и указываем title на странице (просто клик по любому заголовку статьи), кнопку description и указываем где description. Create -> готово.
5) Копируем созданную ссылку и снова делаем апплет vk.com(rss) to pocket.
Telegram
И последнее – телеграмм каналы. По итогу логика будет — как все уже, наверное, догадались — сделать ещё один rss канал. Для этого воспользуемся услугами telegram.me/crssbot. Бот умеет дублировать посты из вашей группы в rss ленту. Его нужно добавить в группу как администратора. Создаём в телеграмме группу с любым названием, добавляем бота как администратора (следуем инструкциям).
Далее rss лента будет доступна по адресу —
Однако неплохо бы ещё заполнить этот канал новостями, а-то читать то нечего. Для этого воспользуемся услугами другого бота, который будет перенаправлять новости из всех наших каналов в свежесозданный “rss-канал”.
Вроде как есть классный бот telegram.me/junction_bot, у него есть теги для каждого перенаправления, всякие фильтры в общем всё, что хотите, но перенаправление платное. Не годится.
Зато есть вот такой вот отличный, бесплатный t.me/multifeed_bot (ну или как вариант можете сделать сами github.com/adderou/telegram-forward-bot) бот. Следуем инструкциям бота, добавляем @mirinda_grinder в группу как администратора. Создаём перенаправление из читаемых каналов в нужный нам канал и вуаля. Канал наполняется сам.
Затем привычные шаги по созданию апплета, расстановка тегов, фильтрация и всё, готово. Pocket наполняется сам, без вашего участия, при этом с расстановкой тегов, фильтрацией и синхронизируется на всех устройствах которых пожелаете.
Источник: habr.com