想要采集各类网站的RSS信息,就必须有RSS数据源,我找到一个提供RSS数据源的开源项目RSSHub,可以私有部署到树莓派,然后树莓派RSS数据源对公网开放,即可让依赖Github Actions定时运行的《嘎!RSS》轻松获取数据源。
本文是将RSShub部署到树莓派,并对公网开放的教程。
安装docker和docker-compose
请参考以前写过的文章 《树莓派4B家庭服务器搭建指南》第四期: 用树莓派搭建公网个人下载平台aria2-pro,推荐6个优质种子资源站 https://v2fy.com/p/2021-10-05-pi-bt-aria2-pro-1633436631000/
获取docker-compose.yml
cd /opt/
sudo mkdir rsshub
sudo chmod 777 -R rsshub
cd /opt/rsshub
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
- docker-compose.yml内的内容为
version: '3'
services:
rsshub:
image: diygod/rsshub
restart: always
ports:
- '1200:1200'
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
depends_on:
- redis
- browserless
browserless:
# See issue 6680
image: browserless/chrome:1.43-chrome-stable
restart: always
ulimits:
core:
hard: 0
soft: 0
redis:
image: redis:alpine
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
从配置信息中我们可以看出,服务端口为 1200
创建 volume 持久化 Redis 缓存
sudo docker volume create redis-data
启动RSShub
cd /opt/rsshub
sudo docker-compose up -d
- 访问树莓派ip的1200端口
可以看到服务已经可以访问
通过frp将rsshub映射到外网服务器的1200端口
frp的安装使用参考《树莓派4B家庭服务器搭建指南》第一期:刷Ubuntu Server 20.04,绑定公网域名,对公网提供http服务,SSH登录服务 https://www.v2fy.com/p/2021-10-01-pi-server-1633066843000/
- 在frpc.ini中添加以下配置,并重启frpc
[rsshub-frp-v2fy-com-1200]
type = tcp
local_ip = 127.0.0.1
local_port = 1200
remote_port = 1200
访问http://frp.v2fy.com:1200, 查看映射成功
如果我们将子域名rsshub.v2fy.com 解析到外网主机ip, 访问 http://frp.v2fy.com:1200 和 http://rsshub.v2fy.com:1200 的效果是相同的
如何使用RSSHub?
- 查看文档
- 查看生成微博RSS的文档
- 查看id
按照以上规则,李子柒的RSS为: http://rsshub.v2fy.com:1200/weibo/user/2970452952
通过RSS订阅地址,获取李子柒的最新微博信息,展示到Github主页上
RSShub本质是一个为各类网页生成RSS信息的爬虫集合,我们可以通过阅读RSSHub的文档,获得各类知名网站的RSS信息。
小结
网站提供RSS是一种美德;我们互联网上的内容越来越多,但搜索变得越来越难,各类内容平台将内容圈禁在自家的App中,导致搜索引擎爬取不到最新的内容,我们的搜索也变难了。
如果我们依赖某个内容平台的App获得内容,就很容易被大数据驯化思维方式,被动形成信息茧房。
信息茧房是指人们关注的信息领域会习惯性地被自己的兴趣所引导,从而将自己的生活桎梏于像蚕茧一般的“茧房”中的现象。
本文为你提供一种获取信息的新思路,你可以通过《RSSHub》和 《嘎!RSS》订阅获取自己需要的信息流,让古典互联网技术为你服务。