Instagram 掉粉自查:用官方数据导出在本地比对两次快照,列出掉粉、新粉和没回关名单, 不用交密码。你在 Instagram 官方「Download your information」里申请一份粉丝关注导出, 本工具在本地解析并对比两次快照,秒级出一份对改名误报诚实声明的 markdown 报告。 全程零网络、零订阅、纯 Python 标准库,不需要把账号交给任何第三方。
这个工具用在「我想知道粉丝为什么变少了」的三类时刻:
| 场景 | 你是谁 | 什么时候用 | 报告帮你干什么 |
|---|---|---|---|
| 定期掉粉盘点 | 个人博主 / 小商家 | 每月固定导出一次官方数据 | 两次快照一对比:谁取关了、谁新来了、净变化多少,一屏看清 |
| 互动突然变差 | 内容创作者 | 怀疑掉粉但说不清是谁 | 掉粉名单带主页链接和关注时间,对照发帖日历找原因假设 |
| 不敢用查粉 App | 所有在意账号安全的人 | 想查但怕封号、怕交密码 | 唯一输入是你自己申请的官方导出文件,不登录、不抓取、不联网 |
| 第一次只用一份导出 | 新用户 | 还没有历史快照 | 先出「我关注但没回关」名单;把快照存好,下次即可对比掉粉 |
不适合的场景:实时粉丝监控、批量自动取关、竞品粉丝分析——它只对你自己定期 导出的快照做本地比对,不做任何自动拉取。
"查谁取关"是被付费验证过的刚需:查粉 App Reports+ 在 App Store 攒下 3 万多条 评分、月流水估算数十万美元,但它的路线是要你的账号密码、代你登录 Instagram 轮询列表——评论区最常见的提醒就是"用完赶紧改密码",账号风控甚至封号的风险 全在用户身上。GitHub 上 4,858 星的 InstagramUnfollowers 等开源工具同样依赖登录态。 本仓库只走另一条路:Instagram 官方本来就提供「Download your information」数据导出, 把它申请下来、在本地做两次快照 diff,就能得到同样的名单,而且全程不碰凭据。
上图取自仓库内真实运行产物(两份合成导出夹具 → 对比报告,用户名均为虚构):carol_demo 是真掉粉 且你仍关注着对方;改名的 erin 被启发式认出并标注「可能不是真掉粉」,避免误判。 下面是同一运行的真实终端截图:
| 能力 | 边界 |
|---|---|
| 兼容已观测的导出格式版本(现行 string_list_data、旧版 relationships_*、新版 string_map_data、2026 年 following.json 的 title 变体),多分片自动合并去重 | Instagram 导出没有官方 schema,格式再变时需按报错提示更新解析器 |
| 两次快照对比出掉粉 / 新增 / 未回关三张名单,报告含互关率统计 | 只能对比你自己留存的快照,IG 不提供历史增减记录 |
| 改名启发式:主页链接相同或关注时间戳相同 → 标注「疑似改名,勿误判掉粉」 | 导出没有账号唯一 ID,改名 + 换链接、注销、封禁仍无法与取关区分 |
| 单快照冷启动:先出未回关名单,并提示留存 baseline | 只有一份快照时算不出掉粉,必须等下一次导出 |
| 纯标准库、离线运行、同输入同输出(sha256 可验证) | 导出包包含你的完整社交关系,原文件和快照 JSON 请勿公开 |
把本仓库放入你的 Agent 技能目录,然后直接对 Agent 说:
"我刚在 Instagram 上导出了一份粉丝关注数据(9 月 1 日和 9 月 15 日各一份), 帮我对比一下谁取关了我,谁没回关我。"
Agent 会先指导你在 Instagram 的 Accounts Center → Download your information 里 申请导出(只勾 Followers and following、选 JSON 格式,一般几分钟到 48 小时内 收到邮件),等 ZIP 下载解压后,在本地完成解析、对比和解读:谁真掉粉、谁只是 改名、掉粉可能和什么有关(对照你的发帖节奏给假设,不替平台下定论),并提醒你 留存本次快照作为下次对比的基准。也可以直接用命令行脚本,参数见 维护文档。
V1 评测(2026-09-19,v1.0.0,全部使用合成导出夹具、固定基准日 2026-09-19): 9/9 用例通过,0 硬失败。覆盖三种格式版本解析、HTML 兜底、多分片去重、 两快照对比与改名甄别、单快照冷启动、错误路径(坏 JSON / 未识别结构 / 路径不存在)、 确定性(重复运行 sha256 一致)与 Agent 报告解读九类行为。
- 逐题判断:judgments_v1.jsonl;汇总:summary_v1.json
- 真实产物与哈希:evals/runs_v1/(含错误路径记录与确定性验证)
- 诚实披露:开发期单元测试抓到"纯域名链接被当作用户名"的真实缺陷并修复, 人工检查报告时发现小节间缺空行的渲染缺陷并修复,过程见迭代记录; 改名/注销与取关不可区分是能力边界而非已修复缺陷;判定为开发 Agent 自评 (model_only),尚未独立人工复核。
V1.1 补充验证(2026-09-19,v1.1.0):用公开的真实导出结构样本对照了解析器——
他人贴出的真实导出片段与据真实导出修好的第三方解析器(来源逐条列在
真实样本对照记录)。结论:现行版与旧版
格式一路印证一致;同时证实 2026 年 following.json 用户名已移到 title、
string_list_data 去掉了 value,本解析器据此补上 title 兜底并新增对照夹具与
回归(用户名全部虚构脱敏,运行记录见
runs_v1/run_title_username_2026.txt);
string_map_data("Time span")的 followers 专属真实样本仍未找到,该分支如实
标注为"调研来源、未独立复核"。单元测试增至 26 项全部通过。
与 Reports+ 等要密码的查粉 App、InstagramUnfollowers 等高星爬虫库、 DontFollowBack 等网页工具的定位对比,以及"零凭据、本地比对、误报诚实"的立场, 见对标文档。
需求来源:自媒体需求雷达对公开信号的研究(problem_key
official-export-follower-diff:付费锚点 Reports+ 32,975 条评分、高星开源项目
清一色依赖登录态,官方导出路线在中文侧基本空白)。
