ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

微信公众号文章批量下载与无损备份:wechat-article-exporter 安装实操指南

微信公众号文章批量下载与无损备份:wechat-article-exporter 安装实操指南

微信公众号文章批量下载与无损备份:wechat-article-exporter 安装实操指南

【免费下载链接】wechat-article-exporter一款在线的 微信公众号文章批量下载 工具,支持导出阅读量与评论数据,无需搭建任何环境,可通过 在线网站 使用,支持 docker 私有化部署和 Cloudflare 部署。 支持下载各种文件格式,其中 HTML 格式可100%还原文章排版与样式。项目地址: https://gitcode.com/gh_mirrors/we/wechat-article-exporter

wechat-article-exporter 是一款开源的微信公众号文章批量下载与导出工具,面向需要长期归档公众号内容的开发者和内容运营。装好之后,你可以把任意公众号的历史文章批量导出为 HTML、Markdown、Excel 等格式,还能一并带走阅读量与留言数据,并通过 Docker 私有化部署成团队共用的站点。

三个真实场景,让你想给公众号文章做备份

号主删文,链接一夜失效

转发或收藏的文章,某天可能打开就是死页。这个工具在抓取时会标记每篇文章的状态:已失效的文章打上"已删除"水印,列表里可以过滤隐藏;已经下载过的内容存在浏览器 IndexedDB 缓存中(store/v2/下的 Dexie 数据库),不重复请求。

手动截图转发,格式全乱

逐篇转发或截图保存,轻则丢图,重则排版错乱。该工具的 HTML 导出会把正文、图片、样式文件一起打进 zip 包,还原度为 100%,离线打开与线上页面一致。

想持续更新存档,又不想每次全量重跑

设置页提供同步时间范围(从近 24 小时到全部)与同步频率两项参数,可以从当前时间往前按范围抓取,只补增量,不必重复全量导出。

五分钟跑通:从环境准备到第一次导出

环境准备

package.json的 engines 字段要求 Node.js >= 22,比常见项目的 16 要高,注意别用旧版本。

成功信号:node -v输出 v22.x 及以上。

获取代码并装依赖

git clone https://gitcode.com/gh_mirrors/we/wechat-article-exporter cd wechat-article-exporter corepack enable && corepack prepare yarn@1.22.22 --activate yarn

成功信号:依赖安装跑完无报错,工作区自动生成.nuxt目录。

最小配置

cp .env.example .env

默认走本地文件存储(NITRO_KV_DRIVER=fs,数据落在.data/kv),个人使用不必改其他项;NUXT_AGGRID_LICENSE仅在用到表格企业版特性时才需要填。

成功信号:项目根目录出现.env,内容与示例文件一致。

启动并验证

yarn dev

等待构建完成,访问http://localhost:3000,用微信公众平台账号扫码,授权后搜索一个公众号。更细的用法可看 README.md。

成功信号:登录页扫码后能搜到公众号、加载出文章列表,说明整条链路已经通了。

核心功能演练:导出之后能干什么

多格式批量导出

先在文章列表里按作者、标题、发布时间、原创标识等条件筛选,勾选后执行批量导出。支持 HTML、JSON、Excel、TXT、Markdown、DOCX 六种格式,其中 HTML 与相关格式会把图片和样式一并打包,解压即得一套离线可读的文章集。

已删文章标记与过滤

抓取过程中状态异常的每一篇都会被单独归类:

到「设置-其他」勾选"隐藏已删除文章",列表就会过滤掉这些失效条目,只保留有效内容。

同步时间范围与增量更新

「设置-其他」里选择同步时间范围(24 小时、7 天、半年、全部或指定日期),程序从当前时间往前抓直到范围内数据齐了为止,配合同步频率即可定期补新文。

最常改的 3 处配置

导出目录名格式

「设置-导出」中的dirname支持${account}、${title}、${YYYY}、${MM}、${DD}等变量,可以把导出目录组织成"日期+标题"结构,maxlength控制目录名长度上限,影响 html/txt/markdown/word/pdf 的落盘结构,实现在components/setting/Export.vue。

代理与下载并发

网络受限时在「设置-代理节点」填私有代理(一行一个、以 http/https 开头的绝对地址);留空则使用内置公共代理列表(config/proxy.txt)。下载并发数按代理数量自动计算(utils/download/BaseDownloader.ts),单个资源默认 20 秒超时、失败重试 3 次(utils/download/constants.ts)。

同步频率

accountSyncSeconds控制同步时抓取文章列表的间隔秒数,数值越小同步越快,但触发限制的風險越高,项目内注释推荐不小于 3。

排错 FAQ

端口 3000 被占用,启动失败服务默认监听 3000 端口(见Dockerfile中EXPOSE 3000)。先用lsof -i:3000找到占用进程并释放,或改用PORT=3001 yarn dev换端口。

扫码成功,但文章列表加载不出来抓取都走代理通道,网络受限时到「设置-代理节点」换一组可用的代理地址再试;同时打开浏览器控制台,确认/api/web/mp/相关接口是否报错,报错信息一般能直接定位问题。

下载失败率高,个别文章反复失败单个资源有 20 秒超时与 3 次自动重试,代理连续失败 3 次会进入 30 秒冷静期(utils/download/constants.ts)。此时增加代理节点数量、调低同步频率,然后重新选中失败的文章重试即可。

导出的 HTML 离线打开样式不对确认用的是 HTML 格式导出——它会把图片与样式文件打包,整个 zip 解压后直接打开,不要只挑出单个 html 文件;若仍异常,在「设置-其他」勾选"强制下载文章内容"刷新缓存后重新导出。

wechat-article-exporter 既能满足个人公众号存档,也能通过 Docker 部署支撑团队级批量内容库;想进一步扩展时,可以在utils/download/Exporter.ts中加入新的导出格式处理。

【免费下载链接】wechat-article-exporter一款在线的 微信公众号文章批量下载 工具,支持导出阅读量与评论数据,无需搭建任何环境,可通过 在线网站 使用,支持 docker 私有化部署和 Cloudflare 部署。 支持下载各种文件格式,其中 HTML 格式可100%还原文章排版与样式。项目地址: https://gitcode.com/gh_mirrors/we/wechat-article-exporter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进