前言¶
把知乎收藏夾或專欄裏的文章遷到本地筆記,常見做法是手寫腳本調接口,或在瀏覽器裏逐篇複製。接口字段不全、登錄態過期、圖片外鏈失效、批量中斷後從頭再來,都會把這件事拖得很長。下面介紹 SkillHub 上的 知乎抓取.skill(座標 @user_9610c87f/zhihu-fetch-skill):在 Agent 環境裏用統一 CLI 做列表抓取、正文與圖片落盤,並可選同步到 Obsidian。
這是什麼¶
知乎抓取.skill 是面向數據分析類場景的社區 Skill(SkillHub 分類 data-analysis,當前頁面版本 v2.2.0,標籤 requires_api_key=false)。維護方在 SkillHub 標註的 Git 倉庫爲 handsomestWei/zhihu-fetch-skill。
一句話定位:從知乎 收藏夾、專欄、個人頁、問題頁 等鏈接出發,生成文章列表 JSON,再批量拉取 Markdown 正文與本地化圖片,支持 API / Playwright 多級降級、Cookie 持久化與保活、斷點續傳,並可把結果寫入 Obsidian 的「知乎收藏 / 知乎筆記」目錄結構。
核心功能¶
以下能力均來自官方簡介與倉庫內 SKILL.md 說明,安裝後由 Agent 按文檔路由到 python scripts/zhihu.py 各子命令。
- 鏈接自動路由:粘貼
zhihu.com/zhuanlan.zhihu.com鏈接時,用route識別收藏夾、專欄、單篇、回答、問題頁、個人主頁等類型,再調用對應列表或單篇流程。 - 多級抓取降級:正文優先 API,不完整或受限時走頁面 DOM;Headless 被識別時可配合 Stealth、交互模式等(文檔中列爲
api/stealth/interactive)。 - 登錄與 Cookie:
login/relogin通過瀏覽器寫入工作區zhihu_cookies.json;批量與圖片下載自動攜帶 Cookie,降低專欄 403;腳本內含 TTL 檢測與週期性保活策略。 - 批量正文與圖片:
batch按列表 JSON 輸出編號 Markdown、images/目錄及_progress.json;篇間默認隨機間隔(可配置delay/delay_jitter)。 - 斷點與增量:批量中斷後重跑同一條
batch命令即可續傳;列表側支持--since-last,對照工作區 URL 索引與已有產物跳過未更新條目。 - 抓取上限可配置:默認不會無上限全量爬;可通過
zhihu_fetch_config.json、工作區覆蓋或limits --set固化條數,命令行可用--max-items/--all。 - Obsidian 導出(可選):
obsidian寫入{Vault}/知乎收藏/{分類}/;notes在並列根目錄生成{Vault}/知乎筆記/而不改動鏡像原文。 - 運行摘要:列表與 batch 結束會寫入工作區
zhihu_run_summary.json,便於 Agent 彙總成功、跳過與失敗項;失敗清單可用failures寫入 Vault。
安裝與啓用¶
通過 SkillHub 安裝到當前 Agent¶
SkillHub 頁面給出的安裝提示爲:依據 SkillHub 安裝說明 安裝本 Skill。CLI 側典型步驟如下。
1、檢查是否已有 skillhub:
command -v skillhub && skillhub --version
2、若未安裝,可按安裝文檔執行完整安裝或僅 CLI(文檔中的 curl 命令以 skillhub.cn 爲準)。
3、安裝 Skill 時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 可能不會被識別:
skillhub install @user_9610c87f/zhihu-fetch-skill --dir <skills 目錄>
常用路徑(來自 SkillHub 安裝文檔):Cursor 爲 ~/.cursor/skills/;Claude Code 爲 ~/.claude/skills/;Codex 爲 ~/.codex/skills/ 或項目下 .agents/skills/。具體以你當前客戶端文檔爲準。
也可將下面提示交給支持 Skill 的 AI,由其按安裝文檔完成安裝:
請根據 https://skillhub.cn/install/skillhub.md,安裝 `@user_9610c87f/zhihu-fetch-skill`。
技能內 Python 依賴¶
安裝 Skill 後,在技能根目錄(含 SKILL.md 與 scripts/)準備運行環境:
cd <技能根目錄>/scripts
pip install -r requirements.txt
playwright install chromium
工作區默認在技能根下的 zhihu-fetch-workspace/(可通過環境變量 ZHIHU_WORKSPACE 覆蓋),Cookie、進度與默認輸出均落在該目錄,且不應提交到 Git。
典型用法¶
經過上面的步驟,推薦按「先路由、再列表、再批量、再可選導出」執行。以下命令均在技能根目錄下運行,入口統一爲 python scripts/zhihu.py。
1. 登錄(需要登錄態的正文)¶
未登錄或 Cookie 失效時:
python scripts/zhihu.py login
需要重新寫回 Cookie 時使用 relogin。可選:設置環境變量 ZHIHU_VERIFY_URL 或在 login 後傳入完整 https 鏈接,用於二次確認某內需登錄頁是否可訪問。
2. 任意鏈接:先 route¶
python scripts/zhihu.py route "https://www.zhihu.com/collection/<id>"
個人主頁默認會走跟讀包(專欄 + 文章 + 回答,默認增量);單篇 /p/ 或回答鏈路由 fetch 處理。
3. 收藏夾列表 → 批量正文¶
python scripts/zhihu.py collection "https://www.zhihu.com/collection/<id>"
python scripts/zhihu.py batch zhihu-fetch-workspace/zhihu_collection_<id>.json
輸出目錄默認爲 {workspace}/zhihu_articles_{collectionId}/,內含 _progress.json 與 images/。中斷後再次執行同一條 batch 即可續跑。
4. 寫入 Obsidian(可選)¶
Vault 路徑優先命令行參數,否則可讀環境變量 OBSIDIAN_VAULT:
python scripts/zhihu.py obsidian zhihu-fetch-workspace/zhihu_articles_<id> /path/to/ObsidianVault
python scripts/zhihu.py notes /path/to/ObsidianVault
原文鏡像在 知乎收藏/;筆記板塊在並列的 知乎筆記/,不刪除鏡像文件。
5. 查看上限與調整默認條數¶
python scripts/zhihu.py limits
python scripts/zhihu.py limits --set collection.max_items=10
用戶若要求「這次多抓」,在當次命令加 --max-items 或 --all;若要求「以後默認」,應寫入 zhihu_fetch_config.json 而非只改單次參數。
回覆用戶前,Agent 可讀取 {workspace}/zhihu_run_summary.json 彙總當次結果。
適用場景與注意¶
適合誰:需要把知乎收藏夾、專欄或作者產出批量歸檔爲本地 Markdown;希望 Agent 按 Skill 文檔自動選命令、處理 Cookie 與斷點;使用 Obsidian 並希望按「知乎收藏 / 知乎筆記」目錄落盤的用戶。
限制與注意:
- 遵守知乎服務條款與合理使用頻率;批量默認帶隨機間隔,仍可能觸發安全驗證頁,需
relogin或按文檔排查 Cookie。 - 不帶條數時受配置上限約束,不會默認全量抓取;全量需顯式
--all或配置unlimited。 - 依賴 Chromium 與 Python 環境;Windows 控制台編碼問題在腳本中已有 UTF-8 處理說明。
- SkillHub 頁面統計(截至資料抓取):評分 100000,下載 8642;與第三方轉載頁面的數字可能不一致,以 SkillHub 技能頁 爲準。
結尾¶
知乎抓取.skill 把「識別鏈接 → 列表 JSON → 正文與圖片 → 可選 Obsidian」收成一套 Agent 可執行的 CLI 約定,並圍繞 Cookie、降級與斷點續傳處理常見失敗路徑。若要在 Cursor 等客戶端啓用,可從 SkillHub 安裝座標 @user_9610c87f/zhihu-fetch-skill,並按倉庫 SKILL.md 配置依賴與工作區。
- SkillHub API 地址:https://api.skillhub.cn/user_9610c87f/zhihu-fetch-skill
- SkillHub 頁面:https://www.skillhub.cn/skills/user_9610c87f/zhihu-fetch-skill
- Git 倉庫:https://github.com/handsomestWei/zhihu-fetch-skill