- PVSM.RU - https://www.pvsm.ru -
[1]
RSS [2] и Atom [3] — простые и понятные форматы для публикации контента. Кто-то считает, что золотое время RSS осталось в прошлом, но это не так. На самом деле этап хайпа остался в прошлом, а сейчас синдикация вышла на плато продуктивного использования в своих нишах. Например, подкасты (MP3 по RSS [4]) живут и процветают.
Но корпорациям использовать RSS не выгодно. Например, компания Google удалила RSS откуда могла и позакрывала сервисы. Но это не помогло. RSS отлично себя чувствует [5]. Хабр и многие другие сайты получают существенную часть трафика со своих фидов.
Читатели могут скачивать фиды напрямую с серверов издателей. Очень удобно концентрировать в одном месте все свои фиды из тысяч источников. Не нужно вручную ходить на каждый сайт в отдельности. Если автор не нравится — просто убираем его блог из списка источников. Есть нативные RSS-агрегаторы для ПК, например, встроенный в почтовый клиент Thunderbird [6]:

Многие получают контент через облачные RSS-агрегаторы (Feedly [7], NewsBlur [8], Inoreader [9]), потому что так удобнее читать фиды с разных устройств (десктоп, смартфоны).
Альтернатива коммерческим облачным сервисам — агрегатор на своём , такой как FreshRSS [11]. Его тоже можно читать и с десктопа, и со смартфона.
По своей сути RSS больше подходит для осмысленного контента, сохраняющего свою ценность со временем, а не для краткосрочного кликбейта с целью накрутки посещаемости. Если вы отдаёте контент целиком, то нет смысла нести чушь или какую-то желтуху чисто ради открутки рекламных баннеров. Вы будете думать, стоит ли публикации каждое слово. Поэтому корпорации так не любят RSS.
Агрегатор фидов — сложная информационная система, особенно с учётом масштабируемости на миллионы источников информации, которые нужно периодически обновлять (скачивать) — и выдавать пользователям.
Архитектуру агрегатора можно примерно оценить по этой научной статье 2022 года [12]:

Основная часть реализована на C# (.Net Core), хранилища данных PostgreSQL и Elasticsearch. Автор считает, что такие системы агрегации должны быть распределёнными на основе событийно-ориентированной и микросервисной архитектур. Такой подход сделает систему устойчивой к высоким нагрузкам и сбоям, а также легко расширяемой.
Сам факт публикации научных статей на эту тему говорит о том, что RSS и синдикация данных в распределённой системе — актуальная тема, как бы ни старались недоброжелатели.
В последнее время появились и новые, интересные подходы. Например, MonitoRSS [13] (бывш. DiscordRSS) — агрегатор RSS на самохостинге с трансляцией ленты в Discord. Если своего сервера нет, можно использовать ограниченно бесплатный публичный инстанс [14].
Одним из «могильщиков» RSS называют Google [15]. Например, в ранних версиях Chrome на адресной панели была встроенная кнопка RSS [16]. Нажатие на неё загружало RSS-фид страницы для быстрой подписки.

Эту кнопку тихо убрали, а потом удалили и соответствующее расширение [17].
В 2007 года Google купила крупнейший агрегатор FeedBurner [18], который использовался блогерами для монетизации фидов. Через пять лет она закрыла FeedBurner API [19], заблокировав интеграцию с сервисом сторонних приложений, а в 2022 году по сути похоронила FeedBurner [20], закрыв большинство его сервисов.
Многие помнят драматическую историю Google Reader. Компания открыла его в 2005 году, и за несколько лет он стал самым популярным RSS-ридером в интернете, пока в 2013 году совершенно неожиданно Google его не убила [21].
С тех пор пополнения на кладбище проектов Google [22] поступают ежегодно, но могилка Google Reader остаётся одной из самых заметных и печальных.

Тогда и стало понятно, что корпоративная культура поискового гиганта стала меняться в сторону коммерциализации и Google больше нельзя доверять [23]. Несмотря на популярность RSS, менеджеры компании враждебно смотрели на этот сервис [24], не приносивший особой прибыли и якобы отнимающий аудиторию у других подразделений.
Google до сих пор ведёт себя враждебно по отношению к RSS. Например, недавно один из сотрудников Google по личной инициативе выкатил генератор RSS-фидов [25] для динамического контента developer.chrome.com (портал для разработчиков) вопреки официальной политике работодателя [26].
Но как бы ни старались недоброжелатели, RSS живёт и отлично себя чувствует. Фиды персональной ленты — один из основных источников трафика на Хабр, и не только у нас такая ситуация. Есть куча успешных сервисов, которые с пользой применяют RSS.
Примечание. Несмотря на исчезновение RSS со многих сервисов Google, на YouTube до сих пор официально поддерживаются фиды [27] для каналов, плейлистов, пользователей и т. д. Но в этом отношении на Google нельзя полагаться, так что в качестве запасного варианта для YouTube лучше рассматривать фид-генератор на своём сервере.
Для издателей контента (а это теоретически все люди с блогами и личными сайтами) настроить RSS довольно просто.
Во-первых, для популярных CMS типа WordPress всегда есть соответствующие плагины. Если странички создаются в генераторе статичных сайтов, то для него тоже обычно есть плагины генерации RSS (например, RSS-плагин [28] для генератора 11ty [29]).
Но даже если блог пишут в Блокноте, на этот случай тоже имеется ряд опенсорсных фид-генераторов. Например, python-feedgen [30] создаёт фид с помощью всего нескольких строк. Просто создаём класс FeedGenerator и вставляем некоторые данные:
from feedgen.feed import FeedGenerator
fg = FeedGenerator()
fg.id('http://lernfunk.de/media/654321')
fg.title('Some Testfeed')
fg.author( {'name':'John Doe','email':'john@example.de'} )
fg.link( href='http://example.com', rel='alternate' )
fg.logo('http://ex.com/logo.jpg')
fg.subtitle('This is a cool feed!')
fg.link( href='http://larskiesow.de/test.atom', rel='self' )
fg.language('en')
Затем фид генерируется путём вызова соответствующего метода:
atomfeed = fg.atom_str(pretty=True) # Get the ATOM feed as string
rssfeed = fg.rss_str(pretty=True) # Get the RSS feed as string
fg.atom_file('atom.xml') # Write the ATOM feed to a file
fg.rss_file('rss.xml') # Write the RSS feed to a file
Или вот простой bash-скрипт для генерации RSS [31].
Скрипт генерирует фид с полным текстом всех сообщений в блоге, а не только заголовка и ссылки на пост. Он берёт директорию с HTML-файлами от личного сайта и парсит их, доставая нужную информацию с помощью awk и sed и добавляя её в файл blog.xml с помощью echo:

Заголовки для фида берутся из содержимого между тегами <h1> и </h1>, дата публикации каждого элемента генерируется из времени создания HTML-файлов в директории, а описание — из контента между тегами <article> и </article>.
В общем, логика понятна: берём нужные данные из файлов и добавляем их в фид, так что bash-скрипт выступает в качестве полноценного генератора RSS. Если запустить его в консоли, он сгенерирует blog.xml в текущей локации. Файл следует перенести в корневую папку сайта — и официальный RSS-фид готов. Как вариант, скрипт можно подправить, чтобы он изначально создавал файл blog.xml по нужному адресу.
Для генератора статических сайтов Hugo тоже есть исправление [32] для дефолтного шаблона, чтобы генерировать фиды с полным содержанием постов, указанием автора и др.
Через свой сервер (мост) можно генерировать и транслировать RSS-фиды даже для сайтов, которые сами не выкладывают RSS добровольно. Инструменты вроде RSS-Bridge [33] и RSSHub [34] позволяют настраивать «самодельные» фиды, фильтровать их по ключевым словам, удалять рекламу по стандартному списку блокировки [35] и т. д.
Сервисы вроде PolitePol [36] сгенерируют фид практически из любого URL. Есть специальные RSS-скраперы и правила скрапинга практически любого популярного сайта [37].
VCard+RSS [38] может составить альтернативу нынешним социальным медиа. Это будет единая честная сеть, в отличие от современных коммерческих корпораций, которые пытаются всячески отгородиться друг от друга [39].

В принципе, в этой идее можно узнать известную концепцию Семантического веба [40]. В наше время эта идея становится будто ещё актуальнее, чем раньше.
Экосистема RSS (блоги и комментарии) гораздо здоровее, чем современные социальные медиа. Здесь нет столько злости, споров, троллинга и сарказма. Люди просто читают авторов, которые им нравятся. Это чем-то похоже на чтение книг, даже вёрстка такая же строгая. К сожалению, некоторые изысканно оформленные тексты теряют свою красоту в таком формате, тут ничего не поделаешь.
И главное: в RSS нет рекламы и трекинга. Да, автор не получает такой подробной аналитики по аудитории. Но самому автору она особо и не нужна, это скорее важно рекламодателям. Обычные люди воспринимают рекламу как абсолютное зло. Кстати, по последней статистике Censuswide [41], доля блокировщиков рекламы во всей американской аудитории выросла до 52%, среди опытных пользователей — до 66%, среди опытных программистов — до 72%. То есть это уже стандарт де-факто в интернете.
Так что если использовать фиды по назначению — для оперативной передачи контента читателям — они до сих пор отлично выполняют свою функцию. Если за прошедшие годы кто-то отказался от RSS в пользу социальных сетей и мессенджеров, есть смысл подумать о возвращении обратно. Ради гармонии и душевного равновесия. Две-три минуты в день на сканирование новостей достаточно, чтобы быть в курсе всего важного и интересного. Например, если просматривать обновления своих каналов YouTube через RSS, то можно автоматически фильтровать шортсы [42] (видео менее 60 с). Только один этот трюк экономит кучу времени.
В последние годы появилось несколько интересных RSS-ридеров, которые стремятся вернуть «на родину» бывших пользователей RSS. Можно взглянуть на Fraidycat [43] и yarr [44].
RSS не умер, да и не может умереть никогда, потому что никому не принадлежит. Это открытый стандарт. Идея свободного и децентрализованного веба живёт несмотря ни на что.
Автор: Анатолий Ализар
Источник [45]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/youtube-2/390891
Ссылки в тексте:
[1] Image: https://habr.com/ru/companies/ruvds/articles/803875/
[2] RSS: https://www.rssboard.org/rss-specification
[3] Atom: https://www.ietf.org/rfc/rfc4287.txt
[4] MP3 по RSS: https://www.makeuseof.com/tag/the-evolution-of-the-podcast-how-a-medium-was-born-geek-history/
[5] отлично себя чувствует: https://www.pcloadletter.dev/blog/rss/
[6] встроенный в почтовый клиент Thunderbird: https://blog.thunderbird.net/2022/05/thunderbird-rss-feeds-guide-favorite-content-to-the-inbox/
[7] Feedly: https://feedly.com/
[8] NewsBlur: https://newsblur.com/
[9] Inoreader: https://www.inoreader.com/
[10] хостинге: https://www.reg.ru/?rlink=reflink-717
[11] FreshRSS: https://github.com/FreshRSS/FreshRSS
[12] научной статье 2022 года: https://www.researchgate.net/publication/365419782_A_Scalable_Aggregation_System_Designed_to_Process_50000_RSS_Feeds
[13] MonitoRSS: https://github.com/synzen/MonitoRSS
[14] публичный инстанс: https://monitorss.xyz/
[15] называют Google: https://openrss.org/blog/how-google-helped-destroy-adoption-of-rss-feeds
[16] встроенная кнопка RSS: https://www.chromium.org/user-experience/feed-subscriptions/
[17] соответствующее расширение: https://techcrunch.com/2013/03/15/google-kills-rss/
[18] FeedBurner: https://en.wikipedia.org/wiki/FeedBurner
[19] закрыла FeedBurner API: https://web.archive.org/web/20140111101204/https://developers.google.com/feedburner/?csw=1
[20] похоронила FeedBurner: https://archive.ph/WqZM8
[21] убила: https://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html
[22] кладбище проектов Google: https://killedbygoogle.com/
[23] Google больше нельзя доверять: https://habr.com/ru/companies/ruvds/articles/753560/
[24] враждебно смотрели на этот сервис: https://www.theverge.com/23778253/google-reader-death-2013-rss-social
[25] выкатил генератор RSS-фидов: https://github.com/bramus/chrome-for-developers-rss
[26] вопреки официальной политике работодателя: https://issuetracker.google.com/issues/314910854?pli=1#comment2
[27] официально поддерживаются фиды: https://www.youtube.com/feeds/videos.xml?user=NFL
[28] RSS-плагин: https://www.11ty.dev/docs/plugins/rss/
[29] 11ty: https://www.11ty.dev/
[30] python-feedgen: https://github.com/lkiesow/python-feedgen
[31] простой bash-скрипт для генерации RSS: https://www.zoraster.org/blog/script-to-generate-rss-feed
[32] исправление: https://lorendb.dev/posts/fixing-hugos-rss-feed/
[33] RSS-Bridge: https://github.com/RSS-Bridge/rss-bridge
[34] RSSHub: https://github.com/DIYgod/RSSHub
[35] списку блокировки: https://easylist.to/easylist/easylist.txt
[36] PolitePol: https://politepol.com/en/
[37] правила скрапинга практически любого популярного сайта: https://github.com/fivefilters/ftr-site-config/
[38] VCard+RSS: https://nfraprado.net/post/vcard-rss-as-an-alternative-to-social-media.html
[39] отгородиться друг от друга: https://www.appelsiini.net/2021/decentralized-social-media/
[40] Семантического веба: https://en.wikipedia.org/wiki/Semantic_Web
[41] последней статистике Censuswide: https://www.ghostery.com/blog/privacy-report-advertisers-and-adblockers
[42] автоматически фильтровать шортсы: https://feedbin.com/help/search-syntax/
[43] Fraidycat: https://fraidyc.at/
[44] yarr: https://github.com/nkanaev/yarr
[45] Источник: https://habr.com/ru/companies/ruvds/articles/803875/?utm_source=habrahabr&utm_medium=rss&utm_campaign=803875
Нажмите здесь для печати.