【开源】知乎抓取 Skill:从收藏夹吃灰到 Markdown 并转变为第二大脑


摘要

收藏夹越来越长,想 离线归档成 Markdown配图本地化中断后能续跑,并希望 一键写入 Obsidian?本文介绍开源仓库 zhihu-fetch-skill欢迎 Star。仓库用根目录 SKILL.md 编排流程、scripts/ 承载 Python + Playwright 脚本,覆盖收藏夹列表、批量正文与图片、Cookie 持久化与保活、断点续传,以及可选的智能分类入库 Obsidian。适用于 Cursor、Claude Code 等支持 Agent Skills 的环境。亦可从 SkillHub(skillhub.cn) 浏览和下载技能包。


一、你是不是也卡在这些问题上?

刷知乎的同学常见这类场景:

  • 收藏夹里 成百上千条,想整理成 结构化 Markdown,手工复制粘贴根本不现实;
  • 正文里的 图链久了会失效,希望 落到本地,离线也能读;
  • 批量抓取动辄半小时起步,中途断网或关机,不想从零再跑;
  • 日常用 Obsidian,希望文章 按主题归档,而不是堆在一个文件夹;
  • 已经在用 Cursor / Claude Code,希望 Agent 照着固定说明书帮你敲命令,而不是每次从零解释一遍。

纯靠对话「随手爬一下」容易路径混乱、Cookie 掉线、落盘格式不一致。更稳的做法是:把步骤固化成 Skill——SKILL.md 约束 Agent 何时用什么脚本,脚本负责确定性的下载与写入。


二、这个技能是什么?

zhihu-fetch-skill(知乎抓取 .skill) 是一个完整的 Agent Skill 仓库

  • 入口 SKILL.md:触发条件、工具与脚本路由、路径约定、主流程顺序、自检清单;
  • 目录 scripts/:收藏夹列表、批量抓取、单篇/调试入口、登录与重登录、写入 Obsidian 等脚本;
  • 仓库根 README.md:安装、项目结构、本地运行效果配图说明。

整体链路可以概括成:

收藏夹列表 → 批量 Markdown + 本地图片 →(可选)Obsidian 分类写入;全程支持进度文件断点续传与 Cookie 侧保活思路。

重要说明:请 合理使用自己的账号与 Cookie,遵守平台规则与本机合规要求;本技能是 个人归档与学习辅助工具,不提供绕过风控或商用滥用的指引。


三、核心能力一览

能力 说明
收藏夹列表 fetch_zhihu_collection.py:优先 API,失败降级 Playwright DOM;输出 JSON 列表
批量抓取 fetch_zhihu_batch.py:正文 Markdown;图片默认 {输出目录}/images/_progress.json 断点续传
Cookie 持久化浏览器上下文 + 内置保活思路;失效时可 zhihu_relogin.py 人工登录
单篇 / 调试 fetch_zhihu.pyfetch_zhihu_api.pyfetch_zhihu_stealth.pyfetch_zhihu_interactive.py
Obsidian write_to_obsidian.py:Vault 可由 命令行第二个参数OBSIDIAN_VAULT 指定;结合 知乎收藏/ 做智能分类并同步图片

依赖见 scripts/requirements.txt,并需执行 playwright install chromium


四、适合谁用?

  • 把知乎当成「稍后读水库」,希望 批量收成 Markdown 的读者;
  • 使用 Obsidian(或其它 Markdown 工作流),需要 知乎 → Vault 管道的笔记用户;
  • 正在玩 Cursor Agent SkillsClaude Code 的开发者:希望有一个 领域完整、可 fork 的抓取类 Skill 样例。

若你只偶尔保存一两篇,浏览器插件或手动即可;收藏规模上来以后,这条流水线更划算。


五、怎么用(对最终用户极简单)

配置好技能路径后,在对话里用自然语言即可,例如:

  • 「帮我抓 知乎收藏夹 / 批量导出 Markdown
  • 写入 Obsidian / Vault 在某某路径」
  • Cookie 失效了 / 要 重新登录

建议同时说明:收藏夹链接或 ID、文章输出目录、是否需要入库 Obsidian,以及 Vault 路径(或事先设置 OBSIDIAN_VAULT),减少 Agent 猜测。

典型三步命令(路径按本机 workspace 与仓库位置调整,详见 SKILL.md):

python scripts/fetch_zhihu_collection.py <收藏夹URL或ID>
python scripts/fetch_zhihu_batch.py <列表.json>
python scripts/write_to_obsidian.py <文章目录> [Vault路径]

六、安装与环境(极简指引)

  • Python:进入 scripts/,执行 pip install -r requirements.txt
  • 浏览器内核playwright install chromium

Claude Code 示例(将仓库放到 skills 目录,使根级存在 SKILL.md):

mkdir -p .claude/skills
git clone https://github.com/handsomestWei/zhihu-fetch-skill.git .claude/skills/zhihu-fetch-skill

Cursor:将完整仓库放到 Cursor 约定的 skills 路径;或使用 SkillHub 下载的技能包解压到同等结构;重启后在 Settings → Rules(或当前宿主等价入口)中确认技能已被发现。路径以官方文档及本仓库 README.md 为准。

社区 Hub


七、使用效果

  • 在 OpenClaw 对话中执行批量抓取(工具输出中可见进度、图片数量与 Cookie 保活相关提示)
    请添加图片描述

  • 写入 Obsidian 后的 Vault 结构(「知乎收藏」下主题分类与关系图谱)
    请添加图片描述


八、链接汇总

资源 说明
仓库 https://github.com/handsomestWei/zhihu-fetch-skill
SkillHub(skillhub.cn) https://skillhub.cn/skills/zhihu-fetch-skill
技能入口 仓库根目录 SKILL.md
安装与结构 仓库根目录 README.md
Python 依赖 scripts/requirements.txt
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐