微信公众号文章批量下载工具wechat-article-exporter
简介
什么是 WeChat Article Exporter?
wechat-article-exporter是一个在线微信公众号文章批量下载工具。它支持批量下载微信公众号文章,并支持导出阅读量、评论等数据。导出的格式多样,包括HTML、JSON、Excel、TXT、MD、DOCX等,其中HTML格式能100%还原文章排版与样式。
主要特点
-
批量下载:用户可以一次性下载多个微信公众号的文章,极大提高了下载的效率。 -
多格式导出:支持导出为 HTML,JSON,Excel,TXT,MD,DOCX等多种文件格式。 -
样式还原: HTML格式可100%还原原始文章的排版与样式。 -
数据全面:支持导出文章的阅读量、评论等扩展数据。 -
功能丰富:提供公众号搜索、文章过滤、合集下载等实用功能。 -
开放 API:提供 API接口,方便开发者进行二次开发和集成。 -
部署灵活:无需搭建环境,直接使用官方在线网站,同时也支持 Docker进行私有化部署。
应用场景
-
个人用户备份、归档自己喜欢的公众号文章,防止文章被删除。 -
内容创作者或市场研究人员进行竞品分析,如分析文章阅读量和评论数据。 -
将微信文章转换为其他格式,方便在不同的平台(如博客、知识库)进行二次编辑和分享。

wechat-article-exporter 是一款功能强大的工具,满足用户对微信公众账号文章批量下载的需求,并提供多种导出格式和数据统计功能,非常适合希望高效管理和分析微信公众号内容的用户。
准备
本项目的部署需要有一定的动手能力,不明白的地方多看看官方文档
注册一个微信公众号
前往微信公众平台:https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN 进行注册,公众号(原订阅号)和服务号皆可

反向代理
如果使用 http 协议,软件登录公众号的二维码会刷不出来

是否公网地址无所谓,只要 https 协议即可,所以老苏用的是 tailscale + npm

假设实际访问地址为: https://wae.laosu.tech
|
|
|
|
|---|---|---|
wae.laosu.tech |
http://192.168.0.197:3199 |
wechat-article-exporter
|
在 npm 中的设置

SSL 都勾选了

搭建私有代理节点
虽然官方提供了公共代理节点,但是用的人太多,很容易达到容量或者次数的限制,而导致抓取失败。所以虽然这一步不是必须的,但老苏还是建议你最好自己搭一个

官方文档提供了在 Cloudflare Workers 或 Deno Deploy 等 Serverless 平台进行部署的方法,这里以 Cloudflare Workers 为例。
简要步骤如下:
-
登录到您的 Cloudflare控制台。 -
在菜单中找到并进入 Workers & Pages。 -
创建一个新的 Worker服务。 -
进入新创建的 Worker,点击“编辑代码”。 -
从官方文档:https://docs.wxdown.online/get-started/private-proxy.html 页面复制 Cloudflare Workers版本的节点代码。 -
将代码粘贴到 Cloudflare的代码编辑器中。 -
点击“部署”或“保存并部署”。
部署成功后,您的 Worker URL 就是您的私有代理地址。之后您可以在 wechat-article-exporter 的设置中填入这个地址。
安装
在群晖上以 Docker 方式安装。

如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 wechat-article 和 子目录mkdir -p /volume1/docker/wechat-article/data# 进入 wechat-article 目录cd /volume1/docker/wechat-article# 修改目录权限chmod a+rw data# 运行容器docker run -d \ --restart unless-stopped \ --name wechat-article-exporter \ -p 3199:3000 \ -v $(pwd)/data:/app/.data \ ghcr.io/wechat-article/wechat-article-exporter:latest
运行
部署成功后,在浏览器中输入反代后的地址 https://wae.laosu.tech 即可访问并开始使用。

用微信扫码登录后,左下角有公众号的信息

点 公众号管理 –> 添加

输入公众号名称,选中后添加,然后同步

进入文章下载,抓取之后,就可以导出了

进阶
wechat-article-exporter 所有的数据都保存在浏览器的 indexedDB 中,当运行一段时间后,你会发现数据膨胀的比较大,主要是 html 表中保存了文章的全文

用 AI 写了一段脚本,可以帮我们清理 html 表,但会继续保留表结构
// 清空 html 表,释放空间 (asyncfunction() {try {const dbName = 'exporter.wxdown.online';const request = indexedDB.open(dbName); request.onsuccess = asyncfunction(event) {const db = event.target.result;// 先统计数据const tx = db.transaction(['html'], 'readonly');const store = tx.objectStore('html');const countRequest = store.count(); countRequest.onsuccess = function() {const count = countRequest.result;console.log(`📊 html 表当前有 ${count} 条记录`);// 清空数据const clearTx = db.transaction(['html'], 'readwrite');const clearStore = clearTx.objectStore('html');const clearRequest = clearStore.clear(); clearRequest.onsuccess = function() {console.log('✅ html 表已清空!');console.log('💾 已释放浏览器存储空间');// 估算释放的空间(每条记录平均约 100KB)const estimatedMB = (count * 100 / 1024).toFixed(2);console.log(`📉 预估释放空间: ~${estimatedMB} MB`); }; clearRequest.onerror = function() {console.error('❌ 清空失败:', clearRequest.error); }; }; }; request.onerror = function() {console.error('❌ 打开数据库失败:', request.error); }; } catch (error) {console.error('❌ 执行出错:', error); } })();

⚠️ 注意事项,删除后:
-
文章列表仍正常显示 -
无法离线查看 HTML内容 -
需要重新下载才能导出 HTML格式
参考文档
wechat-article/wechat-article-exporter: 一个在线的微信公众号文章下载工具,支持下载阅读量与评论数据,支持私有化部署地址:https://github.com/wechat-article/wechat-article-exporter
公众号文章下载地址:https://docs.wxdown.online/
@所有人:写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。
夜雨聆风
