使用rsshub订阅自己关注的播客或者某个网站的内容
最近正在飞速成长学习的阶段,想通过某种方法把twitter,B站,百度,视频网站榜单的数据(内容),统一数据的返回格式,快速浏览网页内的内容;于是就想到了使用前几天看到的rsshub,它提供了免费的rss源转换功能,而且rsshub是开源的,其中的已有的rss源也不少,但是总归有些地方不能满足自己的需求,所以就自己折腾一下,使用rsshub搭建一个自己的服务。
准备
rsshub需要用到npm和node,这两个版本尽量不要太低
拉取项目源码
git clone https://github.com/DIYgod/RSSHub.git
运行安装命令,运行项目
项目运行成功以后,在浏览器中输入127.0.0.0:1200,访问到的页面版应该是这样
由于rsshub中有很多源都需要科学上网才能访问,如果科学上网以后还是有些源不能使用,自己根据报错信息去判断。如果是因为网络问题,哪么大概率需要使用到代理。可以在项目根目录新建 .env 文件
PROXY_PROTOCOL= 协议
PROXY_HOST=ip
PROXY_PORT=端口号
根据rsshub的规则一般项目文件都在lib/v2下
开始自己的rss项目
1.创建项目文件夹/路由
项目文件夹名应与RSS 源网站的二级域名相同,比如源网站是百度,哪么文件夹的名
字就应该是baidu。
我们今天是订阅一个视频榜单的网站,所以文件名是netflix,然后在文件夹内创建
router.js来注册路由,具体的文件内创建规则可以去看rsshub官网
2.编写路由
module.exports = (router) => {
/**
* :movieType 最终访问时接受的参数
* require 处理路由的逻辑地址
* **/
router.get('/movietop/:movieType', require('./netflixMovieTOP'));
};
3.路由规则
创建netflixMovieTOP文件,写入以下代码
module.exports = async (ctx) => {
// ctx.params 获取地址栏参数
const movie = cts.params.movieType;
console.log(movie);
// item 每个item都是一个对象,可以自定义规则,经过处理的数据最终通过这里展示
https: ctx.state.data = {
title: ``,
link: `https://www.vimeo.com`,
item: [{}],
};
};
好长时间不写,给忘记了