公众号文章批量导出:用 JS 或 Python 拉全量文章清单

前言

公众号后台的”发表记录”只给当前页,翻页靠点击;想把某个号的历史文章全量拉成清单,手工复制很容易漏。手工方案还分两种:自己的号能进后台,别人的号连后台入口都没有。

下面介绍的 Skill 专门解决这件事:把文章标题、发布时间、链接按页抓完,导出成 CSV 或 JSON。

这是什么

“公众号文章批量导出”(坐标 @user_3befe356/wechat-mp-article-exporter),由社区开发者 user_3befe356 发布,SkillHub 分类为 data-analysis,当前版本 2.0.0,来源标记为 community。

定位一句话:给公众号运营和做内容统计的人用,把”文章清单”这件重复劳动变成一条脚本。

它同时给出 JS 和 Python 两种零依赖方案,都支持自动翻页。

核心功能

按官方简介,它覆盖两类导出场景:

  1. 导出自己公众号后台已发表的全部文章:在发表记录页面运行 JS 脚本,脚本直接在页面上下文里取数据并翻页,不需要额外装包。
  2. 导出任意其他公众号的全部历史文章:在自己公众号后台用”超链接”功能搜索目标公众号,再用 Python 调用 appmsgpublish 接口拉取。

两种场景的输出统一为 CSV 或 JSON,字段为标题、发布时间、链接。

官方页面还声明了 requires_api_key=true。具体是哪个 key、在哪个环境配置,抓取到的资料里没有写,启用前需要到官方地址确认。

安装与启用

抓取到的资料只包含 Skill 的元数据和简介,没有提供安装命令、依赖清单或配置文件路径,因此这里不给出未经核实的命令。

已知的启用入口只有两个:

https://api.skillhub.cn/user_3befe356/wechat-mp-article-exporter
https://www.skillhub.cn/skills/user_3befe356/wechat-mp-article-exporter

如果你是通过 Cursor、Codex CLI 或 Claude Code 这类支持通用 SKILL.md 格式的客户端使用,正确做法是先在客户端里指向上面的官方地址,再确认它读取到的 SKILL.md 中声明的前置条件(尤其是 requires_api_key)是否已满足。这一条属于通用做法,官方资料中并未按客户端分别说明。

典型用法

先做场景判断,再选方案。

场景一,自己公众号的文章:

在公众号后台 -> 发表记录页面,打开浏览器开发者工具,
把 JS 脚本贴进 Console 执行

脚本在页面里跑,逐页读取列表数据,翻页由脚本自己控制,跑完导出 CSV 或 JSON。

场景二,其他公众号的文章:

1. 登录自己公众号后台,用"超链接"搜索目标公众号
2. 拿到目标公众号的标识信息
3. 用 Python 脚本调用 appmsgpublish 接口,按返回的分页结构逐页拉取
4. 汇总后导出 CSV 或 JSON

第 1 步是为了让接口有可用的入口;第 3 步的接口返回本身就是分页结构,所以脚本按页循环取,不用人工干预。

两条路径都不需要额外装第三方库,这是”零依赖”的实际含义。

适用场景与注意

适合谁:需要定期备份自己公众号文章清单的人,以及需要统计某个公众号历史发文频次、做内容盘点或竞品跟踪的人。

注意几点:

  • 场景一依赖后台登录态,脚本要在已登录的页面里执行,换浏览器或重新登录后需要重跑。
  • 场景二走的是公众号后台的超链接能力,目标账号必须先能被搜索到,搜不到就拉不到历史数据。
  • 接口的访问频率和返回上限,抓取到的资料里没有说明。正式跑全量前先小批量试一次,确认分页是否正常。
  • 输出里的”发布时间”以接口和后台页面返回的为准,不要在脚本里自行推断日期。
  • 页面显示的评分为 100000、下载量为 1409、安装量为 0(来源:本次抓取到的元数据)。安装量为 0 说明它还没有经过足够多的实战验证,第一次用之前先在小范围内试跑。

结尾

这个 Skill 的价值在于把两件事统一起来:自己的号用页面脚本,别人的号用接口拉取,结果都是结构化清单,不用再手工翻页复制。

官方地址:https://api.skillhub.cn/user_3befe356/wechat-mp-article-exporter

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye