想要採集各類網站的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》訂閱獲取自己需要的信息流,讓古典互聯網技術爲你服務。