RSSHub给不支持RSS网站制作RSS订阅源-支持B站,知乎,微博,豆瓣,今日头条

https://wzfou.com/rsshub/

https://wzfou.com/rsshub/

为了更快地搜集整理自己需要的信息,我们经常会用到RSS订阅,但是有一些高质量的网站,例如知乎、B站、微博、豆瓣、TG群组、非死不可、推@特等,官方是不支持使用RSS订阅的。之前我们分享过利用Huginn抓取任意网站RSS和微信公众号更新,不过Huginn架设的难度比较大,适合爱折腾的用户。

这篇文章来分享一下灵活性不如Huginn但是上手门槛低的RSSHub。RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,它可以给那些不支持RSS的网站生成 RSS 订阅源,有了RSS订阅源之后,接下来你就可以使用RSS阅读器接收订阅了。RSSHub 目前已适配数百家网站的上千项内容。

RSSHub不如Huginn灵活,原因在于它依赖于RSSHub既定的规则,当然你也可以自己设置规则,但是难度也不小。不过,经过这几年的发展RSSHub支持的网站RSS已经非常多了,包括了社交媒体 、新媒体 、传统媒体 、论坛 、博客 、 直播 、大学通知 、预报预警 、出行旅游 、购物 、游戏 、 政务消息 、科学期刊等。

20240918025546284

基本上市面上流行的网站,例如知乎、B站、微博、豆瓣、TG群组、非死不可、推@特等全部可以使用RSSHub来订阅,甚至细化到B站、豆瓣等分类、个人等专属页面以及一些私有内容,可以说RSSHub还是非常地强大的。更多的建站和实用工具,这里还有:

  1. 浏览器远程访问VPS主机桌面-VPS主机一键安装Linux桌面环境
  2. 分享八个优秀的免费PHP探针-实时检测PHP信息,服务器运行和流量
  3. 自建ATS CDN系统-Apache Traffic Server一键安装配置高性能的CDN节点

PS:更新记录.

1、对于思维导图重度用户来说,如果不想付费购买昂贵的商业服务,可以自己搭建一个在线的思维导图网站:自建免费在线思维导图工具-用Docker安装draw.io在线思维导图程序。2021.3.29

2、平时经常要校对文本,以及有大量的文件需要在电脑和移动硬盘同步,可以试试这些免费的同步对比工具:八大免费的文件对比同步工具-免费文件对比分析与复制同步备份软件。2021.3.24

一、RSSHub安装与配置

RSSHub部署的难点在于首次安装与配置,原因是RSSHub需要安装在一台VPS主机上,当然这对于经常建站的朋友或者有VPS操作经验来说是一件非常简单的事情。没有VPS的朋友可以参考这个购买一个:VPS主机排行榜单

  1. 网站:https://rsshub.app/

1.1 快捷Docker部署

RSSHub官方提供了非常多的安装方式,不过Docker部署的方式是最简单和快捷的。怕代码的朋友可以在自己的VPS主机上安装宝塔面板:宝塔面板安装与使用图文教程

20240918025547105

然后宝塔面板里直接安装Docker,如果想手动在VPS上部署Docker也简单,直接参考Docker官网,以下命令是基于Ubuntu系统的演示,如果你是Debian参考:安装好Docker,其它的请参考官网:

  1. 安装 Docker CE (社区版):https://docs.docker.com/install/linux/docker-ce/ubuntu/
  2. 安装 Docker Compose:https://docs.docker.com/compose/install/#install-compose

Ubuntu系统安装Docker CE 如下:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#测试一下有没有成功
sudo apt-key fingerprint 0EBFCD88
#有以下反馈就表示成功
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) 
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
#验证一下是不是正确安装
sudo docker run hello-world
#有以下反馈就表示正确安装
root@localhost:~# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:4cf9c47f86df71d48364001ede3a4fcd85ae80ce02ebad74156906caff5378bc
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

Ubuntu系统安装 Docker Compose如下:

#安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#检测一下是不是成功安装
docker-compose --version

Docker命令安装完成后,接下来就是安装RSSHub了,直接执行以下命令:

docker pull diygod/rsshub
docker run -d --name rsshub -p 1200:1200 diygod/rsshub

20240918025548125

完成后你就可以打开你的IP:1200看到RSSHub的界面了。

20240918025549392

1.2 绑定域名与SSL

不喜欢纯IP的话,我们可以给RSSHub绑定自己的域名并增加SSL证书。如果使用宝塔面板,你直接在后台添加网站,做好DNS解析,绑定自己的域名。

20240918025550431

然后在后台给域名申请好SSL证书。

20240918025551687

最后,直接在宝塔面板的网站管理中添加反代即可。如下图:

20240918025552952

使用Oneinstack或者LNMP一键包的朋友使用命令添加虚拟机或者绑定好域名,然后添加反向代@理。反向配置方法和Bitwarden自建密码存储系统图文教程绑定域名反代类似。

现在,打开你的域名就可以成功访问到RSSHub了。

20240918025552965

二、RSSHub制作RSS源

2.1 RSSHub订阅知乎

#知乎热榜,官方举例: https://rsshub.app/zhihu/hotlist  ,替换路由: /zhihu/hotlist 。挖站否制作的就是:https://loco.wzfou.me/zhihu/hotlist。

20240918025553529

订阅效果如下:

20240918025554406

2.2 RSSHub订阅B站

#B站番剧,官方举例: https://rsshub.app/bilibili/bangumi/media/9192  ,替换路由: /bilibili/bangumi/media/:mediaid ,即番剧主页 URL 中获取番剧媒体 id, 然后替换一下就行了。挖站否制作的就是:https://loco.wzfou.com/bilibili/bangumi/media/9192

订阅效果如下(可以直接在RSS阅读器里直接观看视频):

20240918025556679

2.3 RSSHub订阅微博

#微博,官方举例: https://rsshub.app/weibo/user/1195230310  ,替换路由: /weibo/user/:uid/:routeParams? ,挖站否制作的就是:https://loco.wzfou.me/weibo/user/1195230310。

20240918025557924

订阅效果如下图:

20240918025558365

三、RSSHub支持的RSS

这里列出一些常用的网站使用RSSHub制作RSS订阅源的方法,其它的网站请参考官网。

3.1 bilibili

#番剧

举例: https://rsshub.app/bilibili/bangumi/media/9192

路由: /bilibili/bangumi/media/:mediaid

参数:

mediaid, 必选 –
番剧媒体 id, 番剧主页 URL 中获取

#用户追番列表

举例: https://rsshub.app/bilibili/user/bangumi/208259

路由: /bilibili/user/bangumi/:uid/:type?

参数:

uid, 必选 –
用户 id

type, 可选 –
1为番,2为剧,留空为1

#UP 主投稿

举例: https://rsshub.app/bilibili/user/video/2267573

路由: /bilibili/user/video/:uid/:disableEmbed?

参数:

uid, 必选 –
用户 id, 可在 UP 主主页中找到

disableEmbed, 可选 –
默认为开启内嵌视频, 任意值为关闭

#UP 主专栏

举例: https://rsshub.app/bilibili/user/article/334958638

路由: /bilibili/user/article/:uid

参数:

uid, 必选 –
用户 id, 可在 UP 主主页中找到

#UP 主动态

举例: https://rsshub.app/bilibili/user/dynamic/2267573

路由: /bilibili/user/dynamic/:uid/:disableEmbed?

参数:

uid, 必选 –
用户 id, 可在 UP 主主页中找到

disableEmbed, 可选 –
默认为开启内嵌视频, 任意值为关闭

#UP 主频道

举例: https://rsshub.app/bilibili/user/channel/142821407/49017

路由: /bilibili/user/channel/:uid/:cid/:disableEmbed?

参数:

uid, 必选 –
用户 id, 可在 UP 主主页中找到

cid, 必选 –
频道 id, 可在频道的 URL 中找到

disableEmbed, 可选 –
默认为开启内嵌视频, 任意值为关闭

3.2 Telegram

#频道

举例: https://rsshub.app/telegram/channel/awesomeDIYgod/%23DIYgod的豆瓣动态

路由: /telegram/channel/:username/:searchQuery?

参数:

username, 必选 –
频道 username

searchQuery, 可选 –
搜索关键词, 如需搜索 tag 请用 %23 替代 #

3.3 豆瓣

#正在上映的电影

举例: https://rsshub.app/douban/movie/playing

路由: /douban/movie/playing

参数: 无

#正在上映的高分电影

举例: https://rsshub.app/douban/movie/playing/7.5

路由: /douban/movie/playing/:score

参数:

score, 必选 –
返回大于等于这个分数的电影

#即将上映的电影

举例: https://rsshub.app/douban/movie/later

路由: /douban/movie/later

参数: 无

#北美票房榜

举例: https://rsshub.app/douban/movie/ustop

路由: /douban/movie/ustop

参数: 无

#一周口碑榜

举例: https://rsshub.app/douban/movie/weekly

路由: /douban/movie/weekly/:type?

参数:

type, 可选 –
分类,可在榜单页 URL 中找到,默认为一周口碑电影榜

一周口碑电影榜:movie_weekly_best
一周口碑剧集榜:tv_weekly_best
华语口碑剧集榜 :tv_chinese_best_weekly

#豆瓣电影分类

举例: https://rsshub.app/douban/movie/classification/R/7.5/Netflix,剧情,2020

路由: /douban/movie/classification/:sort?/:score?/:tags?

参数:

sort, 可选 –
排序方式,默认为U

score, 可选 –
最低评分,默认不限制

tags, 可选 –
分类标签,多个标签之间用英文逗号分隔,常见的标签到豆瓣电影的分类页面查看,支持自定义标签

排序方式可选值如下

近期热门U
标记最多T
评分最高S
最近上映R

#豆瓣电影人

举例: https://rsshub.app/douban/celebrity/1274261

路由: /douban/celebrity/:id/:sort?

参数:

id, 必选 –
电影人 id

sort, 可选 –
排序方式,缺省为 time(时间排序),可为 vote (评价排序)

#豆瓣小组

举例: https://rsshub.app/douban/group/camera

路由: /douban/group/:groupid

参数:

groupid, 必选 –
豆瓣小组的 id

#浏览发现

举例: https://rsshub.app/douban/explore

路由: /douban/explore

参数: 无

#浏览发现分栏目

举例: https://rsshub.app/douban/explore/column/2

路由: /douban/explore_column/:id

参数:

id, 必选 –
分栏目id

#新书速递

举例: https://rsshub.app/douban/book/latest

路由: douban/book/latest

参数: 无

3.4 简书

#首页

举例: https://rsshub.app/jianshu/home

路由: /jianshu/home

参数: 无

#热门

举例: https://rsshub.app/jianshu/trending/weekly

路由: /jianshu/trending/:timeframe

参数:

timeframe, 必选 –
按周 weekly 或 按月 monthly

#专题

举例: https://rsshub.app/jianshu/collection/xYuZYD

路由: /jianshu/collection/:id

参数:

id, 必选 –
专题 id, 可在专题页 URL 中找到

#作者

举例: https://rsshub.app/jianshu/user/yZq3ZV

路由: /jianshu/user/:id

参数:

id, 必选 –
作者 id, 可在作者主页 URL 中找到

3.5 微博

对于微博内容,在 routeParams 参数中以 query string 格式指定选项,可以控制输出的样式

#博主

举例: https://rsshub.app/weibo/user/1195230310

路由: /weibo/user/:uid/:routeParams?

参数:

uid, 必选 –
用户 id, 博主主页打开控制台执行 $CONFIG.oid 获取

routeParams, 可选 –
额外参数;请参阅上面的说明和表格;特别地,当 routeParams=1 时开启微博视频显示

部分博主仅登录可见,不支持订阅,可以通过打开 https://m.weibo.cn/u/:uid 验证

#关键词

举例: https://rsshub.app/weibo/keyword/DIYgod

路由: /weibo/keyword/:keyword/:routeParams?

参数:

keyword, 必选 –
你想订阅的微博关键词

routeParams, 可选 –
额外参数;请参阅上面的说明和表格

#热搜榜

举例: https://rsshub.app/weibo/search/hot

路由: /weibo/search/hot

参数: 无

#超话

举例: https://rsshub.app/weibo/super_index/1008084989d223732bf6f02f75ea30efad58a9

路由: /weibo/super_index/:id/:routeParams?

参数:

id, 必选 –
超话ID

routeParams, 可选 –
额外参数;请参阅上面的说明和表格

#个人时间线

举例: https://rsshub.app/weibo/timeline/3306934123

路由: /weibo/timeline/:uid/:feature?

参数:

uid, 必选 –
用户的uid

feature, 可选 –
过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。注意

需要对应用户打开页面进行授权生成 token 才能生成内容

自部署需要申请并配置微博 key,具体见部署文档

3.6 知乎

#收藏夹

举例: https://rsshub.app/zhihu/collection/26444956

路由: /zhihu/collection/:id

参数:

id, 必选 –
收藏夹 id, 可在收藏夹页面 URL 中找到

#用户动态

举例: https://rsshub.app/zhihu/people/activities/diygod

路由: /zhihu/people/activities/:id

参数:

id, 必选 –
作者 id, 可在用户主页 URL 中找到

#用户回答

举例: https://rsshub.app/zhihu/people/answers/diygod

路由: /zhihu/people/answers/:id

参数:

id, 必选 –
作者 id, 可在用户主页 URL 中找到

#用户文章

举例: https://rsshub.app/zhihu/people/posts/dcjanus

路由: /zhihu/people/posts/:id

参数:

id, 必选 –
作者 id, 可在用户主页 URL 中找到

#专栏

举例: https://rsshub.app/zhihu/zhuanlan/googledevelopers

路由: /zhihu/zhuanlan/:id

参数:

id, 必选 –
专栏 id, 可在专栏主页 URL 中找到

#知乎日报

举例: https://rsshub.app/zhihu/daily

路由: /zhihu/daily

参数: 无

#知乎日报 – 合集

举例: https://rsshub.app/zhihu/daily/section/2

路由: /zhihu/daily/section/:sectionId

参数:

sectionId, 必选 –
合集 id, 可在 https://news-at.zhihu.com/api/7/sections 找到

#知乎热榜

举例: https://rsshub.app/zhihu/hotlist

路由: /zhihu/hotlist

参数: 无

#知乎分类热榜

举例: https://rsshub.app/zhihu/hot

路由: /zhihu/hot/:category?

参数:

category, 可选 –
分类,见下表,默认为全站

3.7 今日头条

#关键词

举例: https://rsshub.app/jinritoutiao/keyword/AI

路由: /jinritoutiao/keyword/:keyword

参数:

keyword, 必选 –
关键词

3.8 V2EX

#最热 / 最新主题

举例: https://rsshub.app/v2ex/topics/latest

路由: /v2ex/topics/:type

参数:

type, 必选 –
hot 或 latest

#帖子

举例: https://rsshub.app/v2ex/post/584403

路由: /v2ex/post/:postid

参数:

postid, 必选 –
帖子ID,在 URL 可以找到

#标签

举例: https://rsshub.app/v2ex/tab/hot

路由: /v2ex/tab/:tabid

参数:

tabid, 必选 –
tab标签ID,在 URL 可以找到

四、总结

RSSHub对于RSS的重度用户是非常有用的,尤其是可以强制将那些不提供RSS订阅源的网站输出RSS内容。有了RSSHub后还得有一个免费的RSS阅读器,自建RSS无疑是最有保障的,参考:自建RSS阅读器Tiny Tiny RSS安装和配置

阅读剩余
THE END