公众号信息提取与溯源
看到一篇公众号文章,想知道这是哪个号发的?想拿到这个号的长期有效入口(而不是会失效的文章链接)?
给它一篇文章链接就够了。也可以给一个另存的网页文件,或一整份链接清单。
只需记住两件事:查得到是哪个号,拿得到一张永不失效的主页二维码。
一分钟上手
/wechat-mp-info <你手上的公众号文章链接>
就这么一句。你会先看到 → 识别为公众号:<该号名称>,置信度 高,
然后拿到一份溯源表(名称 / 原始 ID / biz / 主页链接 / 文章标题 / 发布时间)。
加上 --qr 主页码.svg 就同时得到二维码。
没有链接也行:把文章页另存为 HTML 文件,把文件名当输入,全程离线。
何时用
- 溯源与核验:「这篇爆款文章是哪个号发的?」「帮我确认下这篇文章到底出自哪个公众号」
- 拿到长期入口:要把某个号的入口印在海报、名片、展板、问卷上,需要不会失效的主页二维码
- 批量编目:手上有一批文章链接,要整理成一张「链接 → 公众号」的对照表(Excel 可直接打开)
- 断网环境:内网或无外网时,把文章页源码存成文件,用离线模式照样出结果
何时不该用
| 你可能想要的 | 本技能能做吗 | 该用什么 |
|---|---|---|
| 查出是哪个号、拿到主页二维码 | 可以 | 就用本技能 |
| 读取/总结文章正文内容 | 不可以 | 用文档解析类技能 |
| 给公众号发消息、留言、关注 | 不可以 | 不属于本技能能力范围 |
| 抓取文章阅读量、点赞数、评论 | 不可以 | 这些不在公开 HTML 里,需在后台查看 |
| 判断文章真伪、评价内容质量 | 不可以 | 本技能只做身份提取,不做内容判断 |
| 抓取非微信平台的文章 | 不可以 | 本技能只处理 mp.weixin.qq.com 文章页 |
怎么用
拿技能包里自带的示例文件跑一遍——不联网、不需要自己准备素材,产出与下面的表逐字一致:
/wechat-mp-info examples/离线解析示例.html --out 溯源.md --qr 主页码.svg
运行后提示 → 识别为公众号:示例公众号,置信度 高,得到一份溯源表:
| 字段 | 值 |
|---|---|
| 公众号名称 | 示例公众号 |
| 原始 ID | gh_d58547201f64 |
| biz | MzkwNTU5MzQwNQ== |
| 主页链接 | https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkwNTU5MzQwNQ%3D%3D&scene=124#wechat_redirect |
| 文章标题 | 示例文章:如何把一件小事讲清楚 |
| 发布时间 | 2026-08-20 09:30:00 |
> 示例文件里是虚构账号,只用来对照输出格式。把输入换成你自己的文章链接、
> 或另存下来的文章页 HTML,其余完全一样。
外加一张 主页码.svg —— 中心就是该号头像(取不到时用内置标识),
扫码直达公众号主页,文章以后被删也不受影响。
换个输入
| 你的情况 | 怎么给 |
|---|---|
| 一篇正常文章 | 直接给文章链接(上面这种) |
| 内网、被风控、想断网跑 | 浏览器打开文章 → Ctrl+U 复制源码 → 存成 article.html,把文件名当输入 |
| 手里是一批链接 | 每行一个写进 list.txt,输入写成 batch list.txt,产出 CSV 对照表 |
三种输入自动判别,不用记参数。想跳过自动判别时用显式子命令:
/wechat-mp-info url <链接>、html <文件>、batch <清单>。
输出格式(看文件名后缀)
| 后缀 | 得到什么 | 适合 |
|---|---|---|
.md |
Markdown 溯源报告 | 单条提取的默认产出,便于归档 |
.csv |
表格(Excel 双击即开,不乱码) | 批量结果的默认产出 |
.json |
结构化数据 | 接其它程序继续处理 |
.html |
自包含网页,断网也能打开 | 直接发给别人看 |
不写 --out 就打印到屏幕。
二维码
只有一种产物:中心带图案的二维码,三档优先级自动选:
- 该号头像(正常情况)——扫码出来的码带着这个号的脸,辨识度最高
- 内置默认图标——拿不到头像时用
- 内置矢量标识——连内置图标的素材文件都不在包里时(部分分发渠道只收文本文件)用纯代码绘制
无论哪一档,中心一定有图案,不会出现一张没有辨识度的纯码。带图案时容错等级固定 H 级
(可容忍约三成污损),不影响扫码。
--qr 写 .svg 得到矢量图,放大不糊,适合印刷;写 .png 则是位图。建议印刷尺寸不小于 2.5 cm。
常用选项
| 选项 | 作用 | 默认 |
|---|---|---|
-o, --out <路径> |
结果写入文件,后缀决定格式 | 打印到屏幕 |
-f, --format <格式> |
显式指定 md / json / csv / html |
单条 md,批量 csv |
--qr <路径或目录> |
输出主页二维码;批量时写成目录 | 不生成 |
--concurrency <n> |
批量并发,1–8 | 3 |
--delay <毫秒> |
批量每条之间的间隔 | 600 |
--timeout <毫秒> |
单条抓取超时 | 20000 |
--no-cache |
忽略本机 6 小时缓存,强制重新抓取 | 走缓存 |
-j, --json |
结果以 JSON 打到标准输出 | 关 |
-q, --quiet |
不打印进度提示 | 关 |
常见问题 FAQ
Q1:扫码出来是主页,不是这篇文章?
这是设计如此。 文章链接会失效(被删、被取关),主页链接不会。你要的"这个号去哪找"就是这个主页。
如果确实需要文章本身,请自行保存原文。
Q2:抓取失败 / 提示被拦截(退出码 4)怎么办?
公众号对频繁访问有风控。三种办法:
① 等几分钟再试;② 加 --delay 2000 放慢批量节奏、--concurrency 1 降并发;
③ 走离线模式——浏览器打开文章 → Ctrl+U 复制源码 → 存成 HTML → 用文件名当输入。
离线模式完全不走网络,风控管不着。
Q3:二维码扫不出来?
先确认不是打印尺寸太小——建议不小于 2.5 cm。中心带图案时容错等级是 H 级(可容忍约三成污损),
一般没问题的。若是在屏幕上扫,放大一点再试;若印在反光材质上,换哑光材质。
Q4:二维码中心没有头像,是个通用图标?
说明这个号的头像没抓到(头像地址失效,或该号没设置头像)。此时会用内置图标兜底——
这是正常的降级,不是故障,扫码照样直达主页。
Q5:批量跑一半失败了,前面的白跑了吗?
没有。批量结果会写进 CSV,成功的行照样保留,失败的行会标注原因。可以只把失败那几行挑出来重跑。
Q6:同一个链接跑两次,结果会不会变?
6 小时内走本机缓存,结果一致。想强制重抓加 --no-cache。
如果公众号改了名或换了头像,重抓就会反映出来。
Q7:要账号、Cookie 或密钥吗?
都不要。文章页是公开页面,本技能不带任何凭证,也不会向第三方发送你的数据。
Q8:能离线用吗?
能,而且推荐在内网用。把文章页源码存成 HTML 文件,把文件名当输入即可——
不联网、不触发风控、结果一样准。
Q9:能提取文章的阅读量、点赞数吗?
不能。这些数字不在公开 HTML 里,只有号主在后台能看到。本技能只提取身份信息。
Q10:清单里有的行带了别的文字,会失败吗?
不会。脚本会自动从行里抠出链接,以 # 开头的行和空行会被忽略,重复链接自动去重。
Q11:拿到 biz 但没拿到原始 ID(gh_)?
正常。不同页面形态暴露的字段不同,能拿到什么就写什么,缺失字段会留空而不会编造,
置信度评级也会相应下调(高/中/低)。
Q12:公司内网完全没外网,能用吗?
可以,但需要用离线模式(本地 HTML 文件)。联网抓取路径需要能访问 mp.weixin.qq.com。
常见错误用法
| ❌ 这样不行 | ✅ 应该这样 | 为什么 |
|---|---|---|
| 指望它总结文章内容 | 用文档解析类技能 | 本技能只做身份提取,不读正文 |
| 把它当"取关后还能看文章"的工具 | 主页链接只保证入口不失效 | 文章本身被删就没了,主页还在 |
| 一次性丢几百条链接硬跑 | 分批跑,配 --delay / --concurrency 1 |
触发风控后整批都受影响 |
| 内网环境直接给链接 | 先另存 HTML,再给文件名 | 联网抓取走不通 |
拿 --qr 输出的 PNG 去大幅印刷 |
印大尺寸时用 .svg |
位图放大会糊,矢量不会 |
| 认为字段缺失就是提取失败 | 看置信度评级:低就说明暴露的字段少 | 不同页面形态字段本来就不同 |
出错时怎么办
退出码是稳定的对外契约,脚本不会只丢一句"出错了":
| 退出码 | 含义 | 怎么办 |
|---|---|---|
0 |
成功 | — |
1 |
其他错误 | 看提示里的原因 |
2 |
用法/链接不合法 | 检查链接是不是 mp.weixin.qq.com 的文章页链接 |
3 |
抓取失败 | 检查网络;或改用离线 HTML 模式 |
4 |
被拦截(风控) | 放慢节奏等几分钟,或改用离线模式(见 Q2) |
5 |
未能识别 | 页面里没有身份信息,确认存的是文章页而不是公众号首页 |
不敲命令也行
assets/公众号信息提取工具.html 是零依赖的单文件网页工具,双击就能在浏览器打开:
粘贴源码提取、生成带中心头像的二维码。拷到断网机器上同样能用。
自检
担心技能在当前环境能否正常工作?无需联网即可自检:
node scripts/selftest.mjs
覆盖解析规则、字段校验、二维码生成、CSV/Markdown 渲染、退出码映射等 76 项断言,全离线运行。
素材是否随包分发属于打包形态,相关断言会显式跳过并说明原因,不会伪装成失败。