简介
什么是 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# 修改目录权限chmoda+rw data# 运行容器dockerrun-d\--restartunless-stopped\--namewechat-article-exporter\-p3199: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{constdbName='exporter.wxdown.online';constrequest=indexedDB.open(dbName);request.onsuccess=asyncfunction(event){constdb=event.target.result;// 先统计数据consttx=db.transaction(['html'],'readonly');conststore=tx.objectStore('html');constcountRequest=store.count();countRequest.onsuccess=function(){constcount=countRequest.result;console.log(`📊 html 表当前有${count}条记录`);// 清空数据constclearTx=db.transaction(['html'],'readwrite');constclearStore=clearTx.objectStore('html');constclearRequest=clearStore.clear();clearRequest.onsuccess=function(){console.log('✅ html 表已清空!');console.log('💾 已释放浏览器存储空间');// 估算释放的空间(每条记录平均约 100KB)constestimatedMB=(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/