wechat-article-exporter 微信公众号文章批量下载工具技术分析
一、概述
1. 简介
A. 是什么
wechat-article-exporter 是一款在线的微信公众号文章批量下载工具,支持导出阅读量与评论数据,可通过在线网站直接使用,无需搭建任何环境。
B. 为什么值得关注
- 解决公众号内容备份的痛点需求
- 无需本地环境配置,降低使用门槛
- HTML 格式可 100% 还原文章排版与样式
- 支持多种导出格式,满足不同使用场景
C. 能做什么
- 批量下载指定公众号的所有文章
- 导出 HTML、JSON、Excel、TXT、Markdown、DOCX 等格式
- 获取阅读量、转发量、评论等数据(需 credentials)
- 支持合集下载、文章过滤等功能
- 提供 API 接口供二次开发
2. 核心特性
- 搜索公众号,支持关键字搜索
- 导出多种格式文件(HTML 完美还原样式)
- 缓存文章列表,减少接口请求
- 支持按作者、标题、时间、原创标识等过滤
- 支持 Docker 和 Cloudflare Workers 部署
- 开放 API 接口
二、技术原理
1. 核心思路
项目利用微信公众号后台编辑器中的"搜索其他公众号文章"功能接口来实现文章抓取。这是官方提供的合法接口,用于编辑者在写文章时引用其他公众号的内容。
2. 工作流程
graph TD
A[用户搜索公众号] --> B[调用公众号搜索接口]
B --> C[获取公众号信息]
C --> D[获取文章列表]
D --> E[解析文章数据]
E --> F[下载文章内容]
F --> G[导出指定格式]
D --> H[缓存列表数据]
H --> D3. 关键接口
- 公众号搜索接口:根据关键词搜索公众号
- 文章列表接口:获取指定公众号的文章列表
- 文章详情接口:获取文章完整内容
- 评论数据接口:获取文章评论(需认证)
三、系统架构
1. 技术栈
A. 前端
- 现代化 Web 技术构建
- 响应式设计,支持多端访问
B. 后端
- Deno Deploy:提供 Serverless 托管
- Cloudflare Workers:边缘计算部署
- Docker:容器化私有部署
C. 数据存储
- 缓存机制:减少接口调用次数
2. 部署架构
graph LR
User[用户] --> Web[在线网站<br/>down.mptext.top]
User --> Docker[Docker 私有部署]
User --> CF[Cloudflare Workers]
Web --> API[微信接口]
Docker --> API
CF --> API
Web --> Cache[缓存层]
Docker --> Cache3. 部署方式对比
| 部署方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 在线网站 | 无需配置,即用即走 | 依赖网络,数据在云端 | 临时使用、少量文章 |
| Docker | 数据私有,可控性强 | 需要服务器环境 | 长期使用、大量文章 |
| Cloudflare | 全球加速,免费托管 | 功能受限 | 轻量使用、边缘部署 |
四、功能详解
1. 公众号搜索
- 关键词搜索公众号
- 支持模糊匹配
- 展示公众号基本信息
2. 文章下载
A. 支持格式
- HTML:完整还原排版和样式(打包图片和样式文件)
- JSON:结构化数据,便于二次开发
- Excel:表格形式,方便数据分析
- TXT:纯文本,适合归档
- Markdown:支持 Hexo、Hugo 等静态博客
- DOCX:Word 文档格式
B. 数据导出
- 阅读量
- 转发量
- 评论内容
- 评论回复
3. 文章过滤
按以下条件筛选文章:
- 作者
- 标题关键词
- 发布时间范围
- 原创标识
- 所属合集
4. 合集功能
- 支持按合集下载文章
- 保持合集结构
- 便于系列文章整理
五、高级功能
1. Credentials 认证
导出阅读量和评论数据需要额外的认证信息,通过抓包获取 credentials。这是因为微信对这些敏感数据有更严格的访问控制。
操作步骤
- 使用浏览器开发者工具抓包
- 找到微信接口请求中的 credentials 信息
- 在工具中填入 credentials
- 即可导出完整数据
2. API 接口
项目提供开放的 API 接口,支持开发者集成到自己的应用中。
3. 消息类型支持
- 图文消息
- 图片分享消息
- 视频分享消息
六、使用场景
1. 内容备份
- 公众号运营者备份自己发布的内容
- 收藏有价值的历史文章
2. 内容迁移
- 从公众号迁移到个人博客
- 多平台内容同步
3. 数据分析
- 导出 Excel 进行数据分析
- 研究公众号运营策略
4. 内容整理
- 按合集整理系列文章
- 建立个人知识库
七、安全与隐私
1. 隐私保护承诺
项目声明不会利用用户扫码登录的公众号进行任何形式的私有爬虫,用户的公众号只会服务于自己的抓取目的。
2. 数据安全
- Docker 部署时数据完全本地化
- 在线使用时建议勿处理敏感内容
3. 版权声明
通过本程序获取的公众号文章内容,版权归文章原作者所有,请合理使用。
八、项目信息
1. 开源协议
MIT License
2. 项目地址
- GitHub:https://github.com/wechat-article/wechat-article-exporter
- 在线网站:https://down.mptext.top
- 文档站点:https://docs.mptext.top
3. 技术支持
- 交流群(QQ):991482155
4. 致谢
- Deno Deploy、Cloudflare Workers 提供免费托管服务
- WeChat_Article 项目提供原理思路
九、技术亮点
1. 接口复用
巧妙利用公众号编辑器的官方接口,避免了复杂的反爬对抗。
2. 无需环境
在线直接使用,降低技术门槛,普通用户也能轻松上手。
3. 格式完善
HTML 格式打包了图片和样式文件,能够 100% 还原文章样式,这是其他工具难以做到的。
4. 部署灵活
支持在线、Docker、Cloudflare Workers 三种部署方式,满足不同用户需求。
5. 缓存优化
缓存文章列表数据,减少接口请求次数,提高使用效率。
十、总结
wechat-article-exporter 是一款设计精巧的实用工具,通过复用官方接口的方式,优雅地解决了公众号文章批量下载的难题。项目支持多种部署方式和导出格式,满足了不同用户的使用需求。
其技术亮点在于:
- 创新性地利用公众号编辑器接口
- HTML 格式完美还原文章样式
- 无需本地环境配置
- 灵活的部署方案
对于需要备份公众号内容、进行内容迁移或数据分析的用户来说,这是一个非常实用的工具。