项目简介
功能特性
-
微信公众号内容抓取和解析 -
RSS订阅生成 -
用户友好的Web管理界面 -
定时自动更新内容 -
支持多种数据库(默认SQLite,可选MySQL) -
支持多种抓取方式 -
支持多种RSS客户端 -
支持授权过期提醒
界面截图
-
登录界面
-
主界面
-
扫码授权
-
添加订阅
-
客户端应用
系统架构
项目采用前后端分离架构:
-
后端:Python + FastAPI -
前端:Vue 3 + Vite -
数据库:SQLite (默认)/MySQL
安装指南
后端服务
git clone https://github.com/rachelos/we-mp-rss.git
cd we-mp-rss
pip install -r requirements.txt
cp config.example.yaml config.yaml
copy config.example.yaml config.yaml
uvicorn web:app --host 0.0.0.0 --port 8001 --reload
或 如果需要初始化数据库和数据,可以使用以下命令:
python3 main.py -job True -init True
前端界面
cd web_ui
npm install
npm run dev
定时任务
配置定时抓取微信公众号内容:
python job.py
配置说明
编辑config.yaml
文件配置以下参数:
-
数据库连接 -
微信公众号配置 -
抓取间隔时间 -
API密钥等
快速运行
Docker Sqlite
docker run -d \
--name we-mp-rss \
-p 8001:8001 \
-e DB=sqlite:///data/db.db \
-e USERNAME:admin \
-e PASSWORD:admin@123 \
-e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \
-v $(pwd)/data:/app/data \
ghcr.io/rachelos/we-mp-rss:latest
-
Compose Yaml
services:
we-mp-rss:
image: ghcr.io/rachelos/we-mp-rss:latest
container_name: we-mp-rss
ports:
- "8001:8001"
environment:
- DB=sqlite:///data/db.db
- USERNAME=admin
- PASSWORD=admin@123
- DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx
volumes:
- ./data:/app/data
Docker Mysql
docker run -d \
--name we-mp-rss \
-p 8001:8001 \
-e DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4 \
-e USERNAME:admin \
-e PASSWORD:admin@123 \
-e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \
-v $(pwd)/data:/app/data \
ghcr.io/rachelos/we-mp-rss:latest
-
Compose Yaml
services:
we-mp-rss:
image: ghcr.io/rachelos/we-mp-rss:latest
container_name: we-mp-rss
ports:
- "8001:8001"
environment:
- DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4
- USERNAME=admin
- PASSWORD=admin@123
- DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx
volumes:
- ./data:/app/data
项目地址
https://github.com/rachelos/we-mp-rss
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)