0x00 引言
RSS又称简易信息聚合协议,是基于XML标准并在互联网上被广泛采用的内容包装和投递协议。使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。
目前获取信息的渠道日益增加,每种App都有各自的信息传达方式与推荐算法,虽然有益于日常刷段子,但是这也会导致获取信息的效率变低。RSS作为一种古老的信息订阅方式,却在信息横流的今天,将被赋予更深远的意义。
我认为其优势在于:1)高效率获取信息,并整合信息的能力。只要添加你需要的源,就能代替繁杂而重复的打开App,查阅订阅信息的过程;2)自定义信息弹窗。做到深处,可以尝试将获得的信息弹窗给手机或电脑,这对于有时效性的新闻来说是很重要的特性;3)自定义信息筛选功能。有时候我们需要自己喜欢的筛选信息方式,但是通常我们都是被别人的推荐算法所固定,然而用RSS的方法我们能获取更多的信息掌控权。
当然凡事都有两面性,RSS也有自身的缺陷:1)可扩展性差。毕竟所有的信息源都是自己设定的,而很多App能够依赖自己的算法推荐新的关注对象;2)不适用于深度阅读。挑选优质的信息源其实是很复杂的过程,如果单靠自己重新设计一个筛选优质信息的算法将花费大量的精力;3)不适用于减压阅读。有创意的或比较欢快的新颖视频、文章来源特性就是多样,这与RSS的固定订阅背道而行。
总结来说,RSS适合于添加固定的优质信息源,并以自定义的方式筛选目标信息。
0x01 RSS阅读器
作为一种比较成熟的技术,其实市面上是有很多实现获取RSS的工具,通常也被称为RSS阅读器。当然,针对不同的平台,有不同的产品。
1 | 1 Windows FeedDemon |
1、Windows FeedDemon
一款免费、轻量级的阅读器,网上的评价还是很好的,贴上它的安装与使用[1]。想要添加RSS源,可以采取多种办法:1)直接去网上找rss源;2)Easy to RSS插件,这是一款Chrome插件,能够直接识别可支持RSS协议的网址;3)一些寻找源的网址,在链接里有;4)RSS源生成项目。这些项目能够替没有RSS的网址生成RSS,比如Feed43、RSSHub等,将在下一章做重要介绍。
0x02 RSS源生成项目
有时候我们会遇到很感兴趣的网页信息,或者某个知名人士的博客,又或者某位微博大V的日更消息,但是很遗憾它们都没有生成RSS文件供我们订阅。那是不是就没有办法订阅如此多的优质资源了呢?于是RSS源生成项目就出现了,在我的理解来看,这些项目实质上是一种爬虫集合,它们可以根据目标网页的成文风格来设计爬虫规则,并开放端口提供给项目使用者,以帮助其订阅目标网页。
1 | 1 RSSHub |
1、RSSHub
RSSHub的口号是“万物皆可RSS”,该项目实质上是一些大佬们自己写的爬虫规则,这些爬虫专门针对某些网站以及它们的模块,比如知乎、bilibili、微信等,每种网站对应自己的爬虫规则,这样使用者就可以不用自己写爬取代码。想了解该项目,可以查阅其独立博客[2]。
1.1、Docker部署
关于RSSHub的部署方式多种多样,均可从博客里查阅,但是为了方便链接库和电脑的干净,这里打算使用容器技术Docker,关于Docker的安装与使用,可查阅我早期的一篇博客操作系统安装[3]。
这里直接叙述RSSHub的Docker部署,贴出部署方式[4]。具体的步骤按上面的链接来即可,但是有许多点需要注意:
1)文中在浏览器中打开127.0.0.1:1200,实际上应该输入自己Docker虚拟机生成的IP,比如我的就是192.168.99.100:1200。
2)docker run会根据镜像生成一个容器,当不使用容器的时候直接docker stop rsshub,下次运行容器的时候就docker start rsshub,而不需要再生成一个容器。
3)如果想翻墙,则需要添加配置,这里不知道怎么加,所以无法订阅Youtube等外网频道。
1.2 添加源
添加源的过程就比较简单了,所有可路由网站均在独立博客中,这里以添加瓦斯阅读的Freebuf微信公众号为例(这里解释下,瓦斯阅读网站可以实现微信公众号文章内容的收录,但是本身生成的RSS只显示少量内容),使用RSSHub实现路由。
根据微信添加公众号(瓦斯来源)[5],可以看到:
1 | #举例: https://rsshub.app/wechat/wasi/5b644221244d4e502cbce92e |
但是我们添加源的时候并不是走rsshub.app这个域名的IP,而是应该走我们自己部署的Docker IP:
1 | #注意别使用加密的https格式 |
0x03 引用文献
[1]https://www.zhihu.com/question/19580096/answer/20490041
[2]https://docs.rsshub.app
[3]https://jailbreakfox.github.io/2018/08/01/操作系统安装/
[4]https://docs.rsshub.app/install/#使用-docker-部署
[5]https://docs.rsshub.app/social-media.html#微信