如何制作自己的全文RSS源

使用RSS获取新闻已经成为我的习惯。今天研究一下如何创建自己的全文RSS源。

习惯刷今日头条吗?好吧,请不要浪费时间继续往下看了。今日头条已经可以满足大部分人的资讯需求。那么我为什么还坚持RSS呢?我有下面三个理由:

  1. 自主选择权。不要被算法推荐牵着鼻子走。
  2. 精炼、权威、大视角。关注高素质新闻媒体。
  3. 海量积累。数周新闻储备。

简单来说,老子啥都想知道一点,所以订阅了几十上百个RSS。看RSS的效率比刷公众号要高的多。

题外话:什么是RSS

RSS是一种文本编排的格式。主要用来传送文字和图片素材。它看起来是这样的:

如何制作自己的全文RSS源

当然,这不适合人类阅读,所以,一般我们使用RSS阅读器接收RSS新闻,它看起来是这样的:

如何制作自己的全文RSS源

如果RSS源提供全文输出,那么我们省事了:连网站都不用开,直接更新RSS就能看到没有广告、按时间顺序排列的所有新闻。但遗憾的是,大部分新闻网站并不提供全文RSS。为了吸引网站流量,它们通常只提供节选的RSS,你需要点击RSS中的链接才能看到全部内容。

获取全文RSS

那么,我们就需要发挥人民群众的智慧来获取全文RSS了。

获取全文RSS有两个办法:

  1. Mercury-Parser-API。Mercury-Parser是一款node.js程序,2019年初开源,可以将精简的RSS链接还原成全文,输出JSON格式的内容。你可以在 https://github.com/postlight/mercury-parser 这里免费下载。如果你会使用Docker,那么可以采用 https://github.com/HenryQW/mercury-parser-api 的方案搭建Mercury-Parser-API。
  2. FiveFilters Full-text RSS。FiveFilters提供的Full-text RSS是一款php程序,也可以全文输出RSS内容,同时可以输出JSON和XML格式。Full-text RSS是一款收费程序,但是FiveFilters会把旧版本免费开源,你可以到 https://bitbucket.org/fivefilters/full-text-rss/downloads/?tab=branches 免费下载。

请问这两款程序是如何获得全文的呢?……实际上它们采用笨办法:使用爬虫读取RSS中链接,并用完整内容替换删减内容。

缓存全文RSS

当你使用上面任一一款工具获取了全文RSS之后,理论上,你就可以直接在RSS阅读器中阅读全文RSS了。但问题是,当你坐下来准备阅读RSS时,你只能刷新到最近的几条更新。当你想回顾上周,或者上个月的某些内容时,已经找不到了。

你可以采用 FreshRSS 或者 Tiny Tiny RSS这些PHP程序缓存RSS内容,然后使用本地的RSS阅读器读取已经缓存好的内容。实际上,FreshRSS 或者 Tiny Tiny RSS本身就是比较实用的网页版阅读工具。

Leave a Reply

Your email address will not be published. Required fields are marked *