WeWe-RSS 微信公众号历史文章下载,然后根据链接爬虫内容,可以制作知识库的内容,方便用ai加工学习,测试过,当前稳定可用
这是一个关于 WeWe-RSS 的部署和使用教程。
WeWe-RSS 是一个开源项目,旨在为微信公众号生成 RSS 订阅源。这对于喜欢使用 RSS 阅读器聚合信息的用户来说非常有用,因为微信本身并不提供官方的 RSS 输出。
请注意:
- 反爬虫风险: 微信官方有严格的反爬虫机制。频繁抓取公众号文章可能导致你的服务器 IP 被临时或永久封禁。请合理使用,并自行承担风险。
- 项目维护状态: 开源项目的维护状态可能随时间变化。请检查项目的 GitHub 仓库以获取最新信息和潜在的分支或替代方案。搜索
WeWe-RSS
或类似关键词查找。本教程基于常见的部署方式。 - 技术门槛: 部署 WeWe-RSS 通常需要一些基础的服务器和 Docker 知识。
教程:部署和使用 WeWe-RSS
目标: 搭建一个可以为指定微信公众号生成 RSS 链接的服务。
核心方法: 使用 Docker 和 Docker Compose 进行部署(这是最推荐和相对简单的方式)。
前提条件:
- 一台服务器: 可以是 VPS (Virtual Private Server) 或任何你可以控制的、能够访问互联网的 Linux 服务器。确保服务器有公网 IP 地址。
- 安装 Docker: 参考 Docker 官方文档在你的服务器上安装 Docker Engine。(https://docs.docker.com/engine/install/)
- 安装 Docker Compose: 参考 Docker 官方文档安装 Docker Compose V2 (通常作为 Docker 插件
docker compose
) 或 V1 (docker-compose
)。(https://docs.docker.com/compose/install/) - 基础命令行知识: 熟悉 Linux 命令行的基本操作(
cd
,ls
,mkdir
,nano
或vim
等)。 - (可选) 一个域名: 如果你想通过域名访问服务(更方便,且便于配置 HTTPS),你需要一个域名并将其解析到你的服务器 IP。
步骤 1:准备部署环境
- 通过 SSH 连接到你的服务器。
- 创建一个用于存放 WeWe-RSS 配置的目录:
mkdir ~/wewe-rss cd ~/wewe-rss
步骤 2:创建 docker-compose.yml
文件
这是定义如何运行 WeWe-RSS 容器的核心配置文件。
-
在此目录下创建一个名为
docker-compose.yml
的文件:nano docker-compose.yml # 或者使用 vim: vim docker-compose.yml
-
将以下内容粘贴到文件中:
version: '3.8' # 或者使用适合你 Docker Compose 版本的 '3' services: wewe-rss: # 重要:请检查 WeWe-RSS 项目的 GitHub 仓库,确认最新的推荐镜像名称! # 可能的镜像名称有: bestony/wewe-rss, diygod/wewe-rss 或其他 fork # 这里以一个常见的镜像为例,你可能需要替换它 image: bestony/wewe-rss:latest container_name: wewe-rss-app ports: # 将服务器的 8080 端口映射到容器的 8080 端口 # 你可以将前面的 8080 改成服务器上其他未被占用的端口,例如 9001:8080 - "8080:8080" environment: # !!! 关键配置 !!! # APP_KEY 是必须的,用于应用加密等。请务必生成一个你自己的强随机字符串! # 你可以使用 `openssl rand -base64 32` 命令生成一个,或者使用在线密码生成器 - APP_KEY=base64:YourStrongRandomBase64KeyHere # <--- 替换成你生成的 Key # - PORT=8080 # 容器内监听的端口,通常保持 8080 即可,与上面 ports 的后半部分对应 # 可选配置 (根据具体镜像文档调整) # - CACHE_DRIVER=file # 缓存驱动,可选 file, redis 等 # - QUEUE_CONNECTION=sync # 队列驱动,可选 sync, redis 等 # - WEWE_FETCHER_TYPE=puppeteer # 文章抓取方式, puppeteer 可能更稳定但资源消耗大, http 较快但易失败 # - WEWE_PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable # 如果使用 puppeteer,可能需要指定 Chrome 路径 (通常在镜像内已配置好) # - WEWE_PUPPETEER_HEADLESS=true # 无头模式运行 Chrome # - WEWE_PROXY_URL=http://your_proxy_url:port # 如果需要通过代理访问微信 # - WEWE_CACHE_TTL=3600 # 缓存时间(秒),例如 1 小时 # - LOG_LEVEL=info # 日志级别 # 可选:如果你需要持久化缓存或数据 (通常对于基础功能不是必须的) # volumes: # - ./storage/cache:/app/storage/framework/cache # - ./storage/logs:/app/storage/logs restart: always # 容器退出时总是尝试重启 # 可选:根据镜像需要,可能要指定用户 # user: "node"
-
重要修改:
image:
确认你使用的 WeWe-RSS 项目推荐的 Docker 镜像名称和标签 (:latest
或特定版本)。去项目 GitHub 仓库的 README 或 Docker Hub 页面查找。APP_KEY=
务必替换YourStrongRandomBase64KeyHere
为一个你自己生成的强随机 Base64 编码的字符串(通常要求 32 字节,Base64 编码后会更长)。你可以用命令openssl rand -base64 32
生成一个,然后复制粘贴。不要使用示例中的值!ports:
冒号前面的8080
是你服务器上暴露给外部访问的端口。如果8080
端口已被占用,请修改为你服务器上一个可用的端口(例如9001
,那么配置就是"9001:8080"
)。确保你的服务器防火墙允许访问这个端口。- 其他
environment
变量: 根据你的需求和所用镜像的文档,可以添加或修改其他环境变量,例如代理、缓存时间、抓取方式等。
-
保存并关闭文件 (在
nano
中按Ctrl+X
,然后按Y
,再按Enter
。在vim
中按Esc
,然后输入:wq
并按Enter
)。
步骤 3:启动 WeWe-RSS 服务
-
在包含
docker-compose.yml
文件的目录 (~/wewe-rss
) 中,运行以下命令:docker compose up -d # 如果你安装的是 V1 版本的 docker-compose,命令是: # docker-compose up -d
up
:创建并启动docker-compose.yml
中定义的服务。-d
:在后台 (detached mode) 运行容器。
-
等待 Docker 下载镜像并启动容器。 第一次启动可能需要一些时间。
-
检查容器状态:
docker compose ps # 或者 V1: docker-compose ps
你应该能看到名为
wewe-rss-app
(或你docker-compose.yml
中定义的container_name
) 的容器正在运行 (running
或up
)。 -
查看日志 (用于排错):
docker compose logs -f wewe-rss-app # 或者 V1: docker-compose logs -f wewe-rss-app # 按 Ctrl+C 停止查看日志
检查日志中是否有明显的错误信息。
步骤 4:使用 WeWe-RSS 生成 RSS 链接
一旦服务成功运行,你就可以通过特定的 URL 格式来获取公众号的 RSS 链接了。
-
找到目标公众号的 ID (
__biz
值):- 在电脑上打开微信,找到该公众号发布的任意一篇文章。
- 点击文章右上角的 “…” 按钮,选择 “复制链接”。
- 将链接粘贴到文本编辑器中,你会看到类似这样的 URL:
https://mp.weixin.qq.com/s?__biz=MzAxNzcxMjkyNQ==&mid=...&idx=...&sn=...
- 其中
__biz=
后面的那串字符 (例如MzAxNzcxMjkyNQ==
) 就是这个公众号的唯一 ID。复制这串字符。
-
构造 RSS 链接:
链接格式为:http://<你的服务器IP或域名>:<端口>/rss/<公众号__biz值>
- 将
<你的服务器IP或域名>
替换为你的服务器公网 IP 地址或解析到该 IP 的域名。 - 将
<端口>
替换为你在docker-compose.yml
中ports:
部分冒号前面设置的端口号(例如8080
或9001
)。 - 将
<公众号__biz值>
替换为你上一步复制的__biz
字符串。
示例:
- 如果你的服务器 IP 是
123.45.67.89
,端口是8080
,公众号__biz
值是MzAxNzcxMjkyNQ==
。 - 那么 RSS 链接就是:
http://123.45.67.89:8080/rss/MzAxNzcxMjkyNQ==
- 将
-
将生成的 RSS 链接添加到你的 RSS 阅读器中 (如 Feedly, Inoreader, Reeder, NetNewsWire 等)。阅读器会定期从此链接获取公众号的最新文章。
步骤 5:管理服务
- 停止服务:
cd ~/wewe-rss docker compose down # 或者 V1: docker-compose down
- 重新启动服务:
cd ~/wewe-rss docker compose start # 或者 V1: docker-compose start
- 更新镜像并重启:
cd ~/wewe-rss docker compose pull # 拉取镜像的最新版本 docker compose up -d --force-recreate # 使用新镜像重新创建并启动容器 # 或者 V1: # docker-compose pull # docker-compose up -d --force-recreate
- 清理旧镜像 (可选):
docker image prune -a
重要注意事项和故障排除:
- 防火墙: 确保你的服务器防火墙(如
ufw
,firewalld
)或云服务商的安全组规则允许外部访问你在docker-compose.yml
中设置的端口(例如8080
)。 APP_KEY
安全: 绝对不要泄露你的APP_KEY
。- 抓取失败: 如果 RSS 源长时间不更新或无法生成,很可能是因为微信的反爬虫机制生效了。
- 检查日志:
docker compose logs -f wewe-rss-app
查看是否有抓取失败、验证码或 IP 被封禁的提示。 - 尝试更换抓取方式: 如果镜像支持,可以尝试切换
WEWE_FETCHER_TYPE
环境变量(例如从http
切换到puppeteer
,或者反之),然后重启服务 (docker compose down && docker compose up -d
)。Puppeteer 更模拟浏览器行为,但消耗资源更多。 - 使用代理: 配置
WEWE_PROXY_URL
环境变量,让请求通过代理 IP 发出,可能降低被封风险(需要自行获取和维护代理)。 - 降低抓取频率: 有些版本的 WeWe-RSS 可能支持设置抓取间隔或降低并发数,查阅具体镜像的文档。
- 耐心等待: 有时 IP 封禁是暂时的,过一段时间可能会自动解除。
- 检查日志:
- 资源消耗: 特别是使用 Puppeteer 时,会消耗较多的 CPU 和内存。确保你的服务器配置足够。
- 项目文档: 强烈建议仔细阅读你所使用的 WeWe-RSS 镜像的官方 GitHub 仓库文档,因为不同的 fork 或版本可能有不同的配置选项和行为。
这个教程提供了一个通用的部署框架。根据你选择的具体 WeWe-RSS 项目分支或镜像,细节可能会有所不同。祝你成功!