最近Feed43凉了,替代品似乎也不多,为什么不能把RSSHub变成Feed43呢
https://github.com/DIYgod/RSSHub
曾经也给RSSHub贡献过一点代码,大部分的路由实现的套路都差不多
- 从网页/API接口上抓取数据
- 根据一定的规则,提取RSS需要的字段
- 构建RSS
其中最核心部分有两个
- 从哪里获取数据
- 数据如何转换成需要的字段
核心部分都是通过js代码实现,想要支持一个新的RSS成本比较高
装环境,部署调试,提交pr,pr合并,更新自己的RSSHub,订阅新的RSS
有很多很多次,我想加一个RSS,都是因为这个功能Feed43也能实现,只要在网页上点几下就能制作好,而放弃RSSHub
这其实也不利于RSSHub的发展,扩充支持站点
https://github.com/damoeb/rss-proxy
是一个比较理想的Feed43替代品
获取数据的地址和提取规则都是通过url传递,实时处理
增加新的RSS成本很低,但处理规则没有固化和分享
缝合
为什么不把RSSHub和RSS-proxy结合起来呢
将RSSHub处理路由和提取数据,参考RSS-proxy的模式,规则化
1 | 1. 输入地址 |
举一个例子
1 | 输入 https://a.com/users/tttmr |
结构化描述步骤2和4,就是一个规则
RSSHub引擎负责执行这个规则就好
而且2中规则还可以复用给Radar,来告知哪些可以订阅
这样新支持一个RSS会非常简单,把规则随便扔给一个实例测一下,没问题就可以直接用了
用户的实例订阅官方规则库,自动同步更新
至于规则如何定义和实现,可以参考XPath,CSS选择器,正则表达式,JSONPath等,或者cel
RSSHub自己定义实现也不是不行