1990 字
10 分钟
把知乎收藏变成知识图谱:导出 → AI 整理 → GitHub 存档

知乎收藏夹是我用得最狠的功能,也是最容易出事的地方:收藏的时候爽,三个月后再也找不到。

平台不给导出,收藏夹里的文章随时可能被作者删除,链接会 404。所以我这两年一直在做一件事:把它变成自己的资产。

最近把整条链路跑通了,简单说就是三步:

知乎收藏夹 ──导出──> 本地 Markdown ──AI 整理──> 知识图谱 ──git push──> GitHub
(随时会消失) (Obsidian 直接能看) (关系被显式化) (有历史、可回滚)

一、找导出工具:知乎没有官方出口#

知乎至今没有给用户任何官方导出接口。收藏夹只是渲染出来给你看的页面数据,所以工具只能走两条路:

路线做法优点痛点
抓 HTML请求文章页,用 CSS 选择器抠正文实现简单选择器一改就全废;知乎反爬会 403
走 API直接打 /api/v4/... 这类内部接口快、结构化、字段干净需要 Cookie,容易被风控

我用的这个项目把两条路都做了兜底 —— Export-Zhihu-Collections(JasonJarvan/Zhihu-Collections-MCP)。它后来干脆把整套能力包成了一个 MCP Server,这一点后面会用到。

它的关键设计:

  1. 输出结构是给 Obsidian 看的
downloads/
├── 编程/ ← 一个收藏夹一个目录
│ ├── xxx.md ← 一篇一个文件
│ └── assets/
│ ├── 20240101120000.jpg ← 图片本地化,不再依赖知乎 CDN
│ └── ...
├── logs/
└── debug/ ← 解析失败的页面 HTML 存这里,方便复盘

图片必须本地化。这不是洁癖:知乎的图片 URL 带鉴权参数且会过期,你把 md 存到本地,半年后打开是一堆裂图,等于没存。

  1. 私密收藏夹靠 Cookie
[
{"name": "z_c0", "value": "你的值"}
]

存成 cookies.json 放项目根目录。这个文件等同于你的知乎登录态,别提交到公开仓库。

  1. 403 自动降级

HTML 被拦了,自动改走 API;专栏文章走流式下载(几万字带图的长文一次性拉容易断),再加 3 次重试。

  1. 去重

跑第二遍不会重复下载。它会检查目标文件是否已存在。

安装与运行
Terminal window
git clone https://github.com/JasonJarvan/Zhihu-Collections-MCP
cd Zhihu-Collections-MCP
pip install -r requirements.txt
# 先让脚本自动扫出你的所有收藏夹,写回 config.json
python fetch_collections.py
# 编辑 config.json:确认收藏夹列表 + 输出路径
python main.py

Windows 路径两种写法都认:

{ "outputPath": "D:\\Documents\\ZhihuExports" }
{ "outputPath": "D:/Documents/ZhihuExports" }

跑完的体感#

几百篇下来,真正”抓不到”的只有两类:已删除和需要登录才能看的盐选。剩下 95% 以上都干净落盘了。剩下那些会在 debug/ 里留下现场 HTML,你 F12 一比就知道是 404 还是权限问题。


二、光有 Markdown 不够#

导出完成那一刻会有一种错觉:搞定了。

其实没有。你得到的是一千个孤立的文件,而不是知识。它们之间没有任何关系,你收藏过的”什么是 Raft 协议”和”Paxos 论文精读”之间可能存在很强的关联,但 Markdown 不会告诉你。

Obsidian 的图谱视图为什么让人上瘾,就是因为它把这些隐式关系画出来了。但它需要你先手动插链接 —— 一千篇手动插?不可能。

所以第二步是:让 AI 读一遍,生成关系。

我把这个导出工具以 MCP Server 的形式挂给了 Hermes:

{
"mcpServers": {
"zhihu-collections": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "你的项目路径"
}
}
}

暴露出来四个工具:

工具作用
list_collections列出所有收藏夹
get_collection_info收藏夹基本信息(文章数等)
search_collections按关键词搜收藏夹
export_collection导出指定收藏夹为 Markdown

这一步的意义在于:Agent 拿到的不再是”一堆待处理的文件”,而是”一个能按需调用的知识源”。它可以边读边决定下一批导出哪几个收藏夹。

导出完之后,让 Hermes 扫全量 Markdown,产出三样东西:

  • 主题聚类 —— 把零散文章归到有限几个主题下
  • 实体与关系 —— 抽概念、建 [[Obsidian 双链]]
  • 一张入口笔记 —— 每个主题一个 hub 笔记,链到具体文章

产出的知识图谱长这样(结构示意):

┌─────────────┐
│ 分布式共识 │ ← hub 笔记
└──────┬──────┘
┌─────────────┼─────────────┐
▼ ▼ ▼
┌────────┐ ┌──────────┐ ┌────────┐
│ Raft │◄─►│ Paxos │◄─►│ 线性一致│
└────┬───┘ └──────────┘ └────┬───┘
│ │
▼ ▼
┌──────────┐ ┌────────────┐
│ 领导选举 │─────────────►│ CAP 定理 │
└──────────┘ └────────────┘

这里有个反直觉的点,值得单独说:

AI 生成的知识图谱质量,取决于它读到的是不是全文。

如果导出的是摘要或者列表页文本,图谱就是”标题聚类”,毫无价值。正是因为工具把正文完整落地了,Agent 才能读懂内容、发现文章之间真正的语义关联。


三、推上 GitHub:给知识加时间维度#

最后一步是很多人会跳过的,也是我认为最值钱的一步。

Terminal window
cd ZhihuExports
git init
git add .
git commit -m "sync: 2026-10-08 知乎收藏快照"
git push -u origin [email protected]:devycx/my-zhihu-library.git

GitHub 在这里承担三件事:

1. 版本化 = 知识快照的时间轴

每条 commit 是一次快照。你能精确回答”我什么时候读过 Raft 那篇论文""三个月前我到底收藏了什么”。知乎只会告诉你”你收藏了 800 条”,没有时间维度。

2. 可回滚

知乎文章被作者删了,但你本地有。导出工具某次改坏了格式,重新 clone 一下就回来了。

3. 二次加工的入口

知识图谱是可再生的,但原始 Markdown 不是。有了 GitHub 仓库,我随时可以换一个 Agent、换一套 schema 重新生成图谱,而不用重新抓一遍知乎 —— 知乎的反爬策略是会变的,下次可能就抓不动了。

仓库结构建议#

my-zhihu-library/
├── exports/ # 原始导出,尽量不动
│ └── 2026-10-08/ # 按快照日期分目录
├── graph/ # AI 产出的知识图谱
│ ├── 分布式共识.md
│ └── index.md
├── README.md
└── .gitignore
└── cookies.json # 关键

把原始数据和加工结果分开,是让图谱能被反复重做的前提。

几个安全上的注意点#

WARNING

导出的 Markdown 里通常带作者名、原文链接,部分还有你自己加的批注。如果仓库设为 Public,等于把个人知识库和阅读偏好公开了。我的做法是设成 Private。

TIP

cookies.json 一定要写进 .gitignore。一次 git add . 手滑,它就变成永久历史了 —— 删文件是不够的,要 git filter-repo 或者干脆重建仓库。


四、这套流程其实可以复用#

抽象一下,这套东西跟”知乎”没有任何关系:

任意内容源 → 结构化落地 → LLM 抽取关系 → 版本化仓库
  • 内容源换成 Notion 导出、微信读书书签、YouTube 播放列表、Pocket
  • 结构化落地换成任意导出脚本
  • 后两步一模一样

真正决定产出质量的是第一步落下来的东西够不够完整。抓取的时候多花点心思,别让清洗的活儿留给后面的 AI。


小结#

  • 知乎没有官方导出,工具必须自己解决 HTML / API 双通道 + Cookie + 图片本地化 + 断点续传 这四件事
  • MCP Server 的意义是让 AI 按需调用知识源,而不是一次性喂一堆文件
  • 图谱的价值来自全文,不是标题 —— 抓取质量决定图谱质量
  • 推 GitHub 不只是备份,是给知识库装上时间轴,并保留重新加工的自由

收藏的价值不在于存,在于还能被再次找到。而”再次找到”这件事,本质上就是给散落的碎片补上关系。

把知乎收藏变成知识图谱:导出 → AI 整理 → GitHub 存档
https://ycxdev.com/posts/zhihu-collection-to-knowledge-graph/
作者
YCX
发布于
2026-10-08
许可协议
CC BY-NC-SA 4.0