介绍
之前一直用各种订阅,作为自己的信息来源。但随着互联网转变,主推信息流和社交,便从高效获取信息工具,变成高效浪费时间工具。碍于即刻整合各平台订阅的功能无法替代,早都卸之而后快了。但RSS
终归没落了,直到发现RSSHub
看到了RSS
一星星的复兴希望。RSSHub
的口号是,“万物皆可RSS”
恩,很霸气,很理想化。其实表达了RSSHub
作者在内的一大部份人的希望,互联网上的信息可以自由流通,而不是被围困在微信、微博等网站平台里。想想最近的腾讯头条大战,两大平台互相屏蔽对方信息的流入,其实是在损害用户的体验和权益,所以,本着自己动手,丰衣足食的道理,自己搭建RSSHub
来生成各大平台信息源的主动订阅。
部署
1.之前看网上各种教程几乎都是用dockr
来部署的,自己试验了一番,发现有各种问题,踩了CDN
和跨域的坑,本人不建议用dockr
部署。用Node.JS
部署比较好,不容易出各种奇怪的问题。
2.安装 NodeJS
的最佳方式是使用 nvm
,安装 nvm
,并向shell
中添加nvm
命令
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
3.添加完了重启服务器并执行命令即安装 Node.js
$ nvm install node
4.安装 RSSHub
默认端口 1200
可以改也可以不改,看自己高兴,要改的话 编辑 config.js
保存就行了。
$ git clone https://github.com/DIYgod/RSSHub.git
$ cd RSSHub
$ npm install
5.启动RSSHub
,然后在浏览器中输入服务器IP:端口号,如果安装成功,就会出现RSSHub
欢迎界面。
$ cd RSSHub
$ npm start
6.但如果是在远程服务器上安装,如此启动的程序,会在退出远程连接,关闭终端后结束,所以得让RSSHub
在后台跑。要用 exit
命令断开远程连接,否则当前账户非正常退出或者结束的时候,程序还是会自己结束
$ cd RSSHub
$ nohup npm start &
7.反向代理,自己再去设置下nginx
反向代理,就完事了。编辑 Nginx.conf
配置完成后重启一下nginx
。在server
段里面的location
加上proxy_pass http
服务器ip:端口
/etc/init.d/nginx -s reload #重启nginx
8.如果你不想弄,本站的RSS
地址: https://rss.itggg.cn
只要博客还在,这个地址就在,欢迎大家使用。
作者Github
地址:https://github.com/DIYgod/RSSHub
使用
示例获取微博用户信息
https://rss.itggg.cn/weibo/user/1858065064
支持
1.bilibili
番剧、 UP主投稿、 UP主动态、UP主收藏夹、分区视频
2.微博博主
3.网易云音乐、歌单歌曲、用户歌单、歌手专辑
4.简书首页、7日热门、30日热门、专题、作者
5.知乎收藏夹
6.掘金分类
7.自如房源
8.快递、所有快递公司
9.贴吧、帖子列表、妹子图、首页、分类、所有专题、专题详情、详情
10.pixiv用户收藏、用户动态、排行榜
11.豆瓣、正在上映的电影、正在上映的高分电影、即将上映的电影、北美票房榜
12.煎蛋无聊图
13.今日头条、独家号
14.笔趣阁、小说章节
15.还有特别多的网站都支持,这里不一一列举了,官方地址自己看看,可能需要科学上网访问
更多支持的rss订阅地址
1、bilibili
#番剧
举例:https://rss.itggg.cn/bilibili/bangumi/21680
路由:/bilibili/bangumi/:seasonid
参数:seasonid,番剧id,可在番剧主页URL中找到
#UP主投稿
举例: https://rss.itggg.cn/bilibili/user/video/2267573
路由: /bilibili/user/video/:uid
参数:uid,用户id,可在UP主主页中找到
#UP主动态
举例:https://rss.itggg.cn/bilibili/user/dynamic/2267573
路由:/bilibili/user/dynamic/:uid
参数:uid,用户id,可在UP主主页中找到
#UP主收藏夹
举例:https://rss.itggg.cn/bilibili/user/fav/2267573
路由:/bilibili/user/fav/:uid
参数:uid,用户id,可在UP主主页中找到
#UP主投币视频
举例:https://rss.itggg.cn/bilibili/user/coin/2267573
路由:/bilibili/user/coin/:uid
参数:uid,用户id,可在UP主主页中找到
#分区视频
举例:https://rss.itggg.cn/bilibili/partion/33
路由:/bilibili/partion/:tid
参数:tid,分区id
id参数查看:https://rsshub.js.org,请移至B站分区视频栏查看。
2、网易云音乐
#歌单歌曲
举例:https://rss.itggg.cn/ncm/playlist/35798529
路由:/ncm/playlist/:id
参数:id,歌单id,可在歌单页URL中找到
#用户歌单
举例:https://rss.itggg.cn/ncm/user/playlist/45441555
路由:/ncm/user/playlist/:uid
参数:uid,用户uid,可在用户主页URL中找到
#歌手专辑
举例:https://rss.itggg.cn/ncm/artist/2116
路由:/ncm/artist/:id
参数:id,歌手id,可在歌手详情页URL中找到
3、简书
#首页
举例https://rss.itggg.cn/jianshu/home
路由:/jianshu/home
参数:无
#7日热门
举例https://rss.itggg.cn/jianshu/trending/weekly
路由:/jianshu/trending/weekly
参数: 无
#30日热门
举例:https://rss.itggg.cn/jianshu/trending/monthly
路由:/jianshu/trending/monthly
参数:无
#专题
举例:https://rss.itggg.cn/jianshu/collection/xYuZYD
路由:/jianshu/collection/:id
参数:id,专题id,可在专题页URL中找到
#作者
举例:https://rss.itggg.cn/jianshu/user/yZq3ZV
路由:/jianshu/user/:id
参数:id,作者id,可在作者主页URL中找到
4、知乎
#收藏夹
举例:https://rss.itggg.cn/zhihu/collection/26444956
路由:/zhihu/collection/:id
参数:id,收藏夹id,可在收藏夹页面URL中找到
CORS跨域问题
1.最简单的解决方法是:在固有的RSS
源地址前面加上 https://r.itggg.cn/
此
API
可以将跨域请求发送到任何地方。
重定向会自动执行,出于调试目的,每个跟随重定向结果
添加X-CORS-Redirect-n
标头,其中n从1开始。这些标头不是
可通过XMLHttpRequest API
访问。5
次重定向后,不再遵循重定向。重定向响应被发送回
到浏览器,浏览器可以选择遵循重定向(由浏览器自动处理)。
请求的URL
在X-Request-URL
响应标头中可用。
在完成所有重定向之后,最终URL
在X-Final-URL
响应标头中可用。
为了防止使用代理进行随意浏览,API
需要使用Origin
或要设置的X-Requested-With
标头,为了避免不必要的飞行前(OPTIONS)
请求,
建议不要在代码中手动设置这些标头。
演示:https://r.itggg.cn
举例说明:
该源是禁止跨域的,所有无法请求到(浏览器可以正常访问,但是无法通过代码获取数据)
https://r.itggg.cn/https://rss.itggg.cn/weibo/user/1858065064
效果
请参阅站点 “动态”
Handsome用户:后台-设置外观-时光机配置-RSS动态内容配置
下方代码是本站的内容,提供参考。
{"id":"weibo","name":"美妆","url":"https://r.itggg.cn/https://rss.itggg.cn/weibo/user/5621509969"},
{"id":"doupan","name":"豆瓣电影","url":"https://r.itggg.cn/https://rss.itggg.cn/douban/movie/playing"},
{"id":"guojia","name":"国家地理","url":"https://r.itggg.cn/https://rss.itggg.cn/natgeo/dailyphoto"},
{"id":"lvyou","name":"旅游","url":"https://r.itggg.cn/https://rss.itggg.cn/mafengwo/note/hot"}
14 comments
你好,公众号文章可以订阅吗?怎么订阅?谢谢。
公众号直接抓取困难,大部分已经过时,故目前提供几种间接抓取方案,请自行选择
公众号(wemp.app 来源)更多可参考;https://docs.rsshub.app/new-media.html#wei-xin (需要科学上网)
举例: https://rsshub.app/wechat/wemp/36836fbe-bdec-4758-8967-7cc82722952d
公众号(CareerEngine 来源)路由: /wechat/wemp/:id
参数:id, 必选 - wemp 公众号 id, 可在搜索引擎使用 site:wemp.app 搜索公众号(例如: 人民日报 site:wemp.app), 打开公众号页, 在 URL 中找到 id
举例: https://rsshub.app/wechat/ce/595a5b14d7164e53908f1606
公众号(Telegram 频道来源)路由: /wechat/ce/:id
参数:id, 必选 - 公众号 id, 在 CareerEngine 搜索公众号,通过 URL 中找到对应的公众号 id
举例: https://rsshub.app/wechat/tgchannel/lifeweek
公众号 (优读来源)路由: /wechat/tgchannel/:id/:mpName?/:searchQueryType?
参数:id, 必选 - 公众号绑定频道 id
mpName, 必选 - 欲筛选的公众号全名(URL-encoded, 精确匹配),在频道订阅了多个公众号时可选用
注意;该方法需要通过 efb 进行频道绑定,具体操作见https://github.com/DIYgod/RSSHub/issues/2172(opens new window)
举例: https://rsshub.app/wechat/uread/shensing
公众号 (二十次幂来源)路由: /wechat/uread/:userid
参数:userid, 必选 - 公众号的微信号, 可在 微信-公众号-更多资料 中找到。并不是所有的都支持,能不能用随缘
举例: https://rsshub.app/wechat/ershicimi/813oxJOl
公众号 (微阅读来源)路由: /wechat/ershicimi/:id
参数:id, 必选 - 公众号id, 打开公众号页, 在 URL 中找到 id
举例: https://rsshub.app/wechat/data258/gh_cbbad4c1d33c
路由: /data258/:id?
参数:id, 可选 - 公众号 id 或分类 id,可在公众号页或分类页 URL 中找到;若略去,则抓取首页
注意
由于使用了一些针对反爬的缓解措施,本路由响应较慢。默认只抓取前 5 条,可通过 ?limit= 改变(不推荐,容易被反爬)。
该网站使用 IP 甄别访客,且应用严格的每日阅读量限额 (约 15 次),请自建并确保正确配置缓存;如使用内存缓存而非 Redis 缓存,请增大缓存容量。该限额足够订阅至少 3 个公众号 (假设公众号每日仅更新一次);首页 / 分类页更新相当频繁,不推荐订阅。
请问你这个怎么订阅抖音哇
看下官方的路由是否支持抖音订阅
更多支持的rss订阅地址看不了哇
哭了 用的博主的源想先看看效果
设置之后浏览器一直出现
net::ERR_NAME_NOT_RESOLVED
的错误提示
把链接放进rss订阅软件的话可以正常使用
不知道有没有老哥跟我一样的问题
??? 没遇到过,我哪个跨域代理的接口没了,精力有限,疏于维护,不想搞了。 如果要用请改成这个地址: https://bird.ioliu.cn/v2/?url=
好的谢谢大佬
大佬我想要你的右下角动漫人物
首页置顶文章有,兄弟.
nginx反向代理简单的一批,橡皮糖兄弟,你改了配置文件重启了吗?
啊,卧槽
我自己搞了一通,还是没搭建好
还是用大佬现成的
我也是没弄好,那个nginx反向代理始终没弄好