ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

微信公众号文章批量导出:扫码登录、拉取接口与私有部署一次讲清

微信公众号文章批量导出:扫码登录、拉取接口与私有部署一次讲清

微信公众号文章批量导出:扫码登录、拉取接口与私有部署一次讲清

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

wechat-article-exporter 是一款在线的公众号文章批量下载工具:扫码登录后可以拉取目标账号的全部文章,导出 HTML、JSON、Excel、TXT、MD、DOCX 等格式,HTML 可 100% 还原排版,还能取回阅读量与评论数据。想把它接到自己的系统里,核心就是 server/api/ 下的 HTTP 接口,本文按"登录 → 拉取 → 扩展"的顺序把公众号文章批量导出的完整链路讲清楚。

🔑 用扫码登录换一张 4 天有效的 auth-key

工具没有独立的账号体系,登录直接复用微信公众平台的扫码流程,分三步:

  1. 请求getqrcode生成二维码,拿到uuid
  2. 手机端扫码后轮询scan确认登录状态
  3. 登录成功时服务端把微信 token 写入 KV 存储,浏览器仅拿到一个不透明凭证auth-key

实现见 server/utils/proxy-request.ts:只有登录请求的set-cookie才会落库,凭证有效期 4 天。此后调用其他接口只需带上auth-key;返回ret: 200003说明会话过期,重新扫码即可。不确定凭证是否还有效时,可以请求 authkey.get.ts 做一次校验,比盲目重试更快定位问题。

跑通"账号搜索 → 文章列表 → 单篇下载"三步链路

拿到 auth-key 后,数据拉取就是三次标准调用:

  • searchbiz:按关键字搜公众号,每页最多 5 条,返回fakeid
  • appmsgpublish:按fakeid拉文章列表,begin从 0 递增、size最大 20,返回空列表即到底
  • download:传入文章 URL,format指定html/markdown/text/json,单篇正文直接取回

对应实现分别是 searchbiz.get.ts、appmsgpublish.get.ts 与 download.get.ts。先只调 searchbiz 拿到一个 fakeid,再拉一页文章确认publish_page结构,链路就跑通了。

⚙️ 调整限流策略:私有部署关闭会员层,线上尊重 429

线上部署的公共接口有分级限流,配置集中在 server/utils/rate-limit.ts:

  • 查询类:游客 5 次/分钟(按 IP),会员 100 次/分钟
  • 下载类:游客 1 次/分钟,会员 60 次/分钟
  • 超限返回 429 并带Retry-After响应头,重试前先等待该值

私有部署时,把 runtime config 的membership.enabled设为 false,限流与会员校验整体跳过,适合内部数据管道;本地yarn dev没有 Cloudflare 限流器绑定,同样直接放行。批量拉取前先把size拉满、把翻页间隔设到秒级,比被限流后被动等待更稳。

扩展阅读量与评论:credentials 25 分钟就过期

阅读量、转发量、评论走另一套接口 comment.get.ts,它代理微信的appmsg_comment端点,单次最多取 1000 条。前置条件是本机运行 wxdown 抓包服务并配置 credentials:config/index.ts 中CREDENTIAL_LIVE_MINUTES写死 25 分钟,过期后接口静默返回 null,脚本里最好定时刷新而不是失败后才补。

图里的"已删除"文章同样能被抓下来存档,这对监测内容变动很有用。批量拉取时的网络出口由 utils/download/ProxyManager.ts 统一调度,代理节点配置在 config/proxy.txt;私有部署时可指向自建节点,避免占用线上公共代理的每日额度,这也是公众号文章批量导出场景下最常被问到的一处配置。

登录完成后,第一步先请求 authkey 接口确认凭证有效,再用 searchbiz 搜一个公众号拿到 fakeid;列表结构确认无误后,再放开批量导出。

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

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

RELATED READING

延伸阅读

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