公众号文章批量导出
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3befe356/wechat-mp-article-exporter。
技能介绍
要解决什么问题
微信公众号没有面向公众的「导出全部历史文章」入口。管理员在 发表记录 里只能逐页翻看;若只想整理别人的公众号链接列表,更没有官方 API。本技能用两条互不依赖的路径,把标题、链接、发布时间落到 CSV(方案 A)或 CSV/JSON(方案 B)。
两条工作流怎么跑
方案 A — 自己的号(后台 JS)
适用:你已登录 mp.weixin.qq.com,且是该号管理员。
- 按发表记录分页控件确认
maxPages等 CONFIG,调整scripts/extract_articles.js。 - 在发表记录页打开 F12 Console,粘贴脚本执行。
- 脚本用隐藏 iframe 按
begin参数逐页加载appmsgpublish?sub=list&...,在 iframe 内等 Vue 渲染后再从 DOM 取数(避免主页面点「下一页」导致上下文丢失)。 - 从选择器
a.weui-desktop-mass-appmsg__title等提取字段并导出 CSV。
方案 B — 其他公众号(超链接 + Python)
适用:已知公众号名称,需要其历史文章列表。
原理:你自己后台的 超链接 搜索可以打开任意公众号的历史列表;脚本用你的 cookie / token 请求 cgi-bin/appmsgpublish,但 fakeid 指向目标号,实现「用自己的登录态拉别人的列表」。
- 在图文编辑里打开超链接,搜索目标号,Network 里从
appmsgpublish请求复制 cookie、token、fakeid(或只填SEARCH_KEYWORD自动搜 fakeid)。 - 运行
scripts/export_other_account.py(仅用 Python 标准库),begin每次 +5 翻页,解析嵌套 JSON:publish_page→publish_list→appmsgex(一篇群发可能多链接,脚本会展开)。 - 请求间隔 2~4 秒随机延时,连续两次空结果即停止。
边界与注意
- 方案 A 依赖后台页面结构与选择器,微信改版后可能要改脚本;细节见
references/troubleshooting.md。 - 方案 B 的 cookie 通常 2~4 小时失效,需重新从浏览器复制;
fingerprint跨会话可能报错,可按文档删除该行重试。 - 需能访问
mp.weixin.qq.com;方案 B 还要求你至少有一个自己的公众号(个人订阅号即可)以获取合法后台会话。 - 请遵守平台规则与版权,仅用于你有权归档或研究的数据场景。
使用场景
- 你是公众号管理员,要把「发表记录」里跨多页的历史文章标题、链接、发布时间一次性导出成 CSV 做归档或选题统计。
- 你只知道某个公众号名称,需要拉取其通过后台超链接能看到的全部历史文章列表,并保存为 CSV/JSON。
- 你在做竞品或行业观察,想按时间线整理目标公众号的历史发文链接,便于后续爬正文或人工抽样阅读。
- 微信未提供官方批量导出接口,你需在已登录后台的前提下,用 iframe 逐页渲染或调用 `appmsgpublish` 接口完成翻页抓取。
适合人员
- 运营自己订阅号/服务号、需要把后台发表记录导出成表格做备份或内容复盘的编辑
- 做新媒体或竞品调研、要批量收集某一公众号历史文章链接与发布时间的分析人员
- 会登录 `mp.weixin.qq.com` 并在 Console 运行脚本,或能用 Python 填 cookie/token/fakeid 跑导出脚本的工程同事
- 持有至少一个个人订阅号、主要目的是借自己后台会话去查询其他公众号列表的技术用户