Token导航 LogoToken导航TokenDH.com
效率操作浏览器clawhub未标认证来源可访问clear审计通过

zhihu-fetch-skill知乎取技能

Agent Skill

zhihu-fetch-skill 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

897

周安装

37

GitHub Stars

公开资料未说明

下载量

293
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:zhihu-fetch-skill(知乎取技能)
来源仓库:https://github.com/handsomestwei/zhihu-fetch-skill
安装命令:
openclaw skills install zhihu-fetch-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install zhihu-fetch-skill

简介

知乎收藏夹与文章内容抓取:API/Playwright 多级降级、Cookie 持久化与保活、批量正文与图片、断点续传、可选写入 Obsidian。| Zhihu collection scraping, batch article fetch, Obsidian export.

SKILL.md

name
zhihu-fetcher
description
知乎收藏夹与文章内容抓取:API/Playwright 多级降级、Cookie 持久化与保活、批量正文与图片、断点续传、可选写入 Obsidian。| Zhihu collection scraping, batch article fetch, Obsidian export.
version
1.1.0
user-invocable
true
argument-hint
[可选:收藏夹 URL 或 ID、单篇链接、输出目录、Vault 路径]
allowed-tools
Read, Write, Edit, Grep, Glob, Bash, WebFetch

知乎数据抓取

从知乎获取收藏夹文章列表正文 Markdown(含图片本地化),支持写入 Obsidian 知识库。命令与路径约定见下文;可视化说明见仓库根目录 README.md


环境与约定

  • 语言:默认与用户语种一致。
  • 技能根目录:下文 ${CLAUDE_SKILL_DIR} 表示本 skill 仓库根目录(部分宿主 UI 中写作 {baseDir},含义相同)。脚本均在 scripts/ 下。
  • 工作区目录:脚本默认将 Cookie、浏览器用户数据、默认文章输出等放在 OPENCLAW_WORKSPACE 环境变量指定的目录;未设置时为 ~/.openclaw/workspace/
  • 依赖:在 scripts/ 下执行 pip install -r requirements.txt,并 playwright install chromium

登录与可选页面验证

  • zhihu_login.py:打开浏览器等待登录,默认以检测到 z_c0 为成功条件即可结束(不要求额外跳转)。
  • 可选二次校验:若用户希望登录后再确认「某一内需登录页」是否可访问(如某收藏夹页、专栏后台、关注动态等),属可选项,不设则不执行:

- 环境变量 ZHIHU_VERIFY_URL:值为完整 http://https:// URL; - 命令行第一个参数传入同一完整 URL:python "${CLAUDE_SKILL_DIR}/scripts/zhihu_login.py" "https://www.zhihu.com/..."。 - 脚本会访问该 URL,若正文仍出现知乎通用提示「请登录后查看」,则提示可能未登录完成;否则认为当前会话可访问该页。不限定于收藏夹,任意知乎链接均可(只要登录态相关)。

  • zhihu_relogin.py:Cookie 失效、需重新登录并写回 zhihu_cookies.json 时使用(会打开浏览器)。

触发条件

在用户使用以下任一方式时启用本技能:

  • 明确提及:知乎、Zhihu、专栏、收藏夹、文章抓取、批量下载、Cookie、验证码、Obsidian、知识库同步等
  • 粘贴 zhihu.com / zhuanlan.zhihu.com 链接并希望获取正文或列表
  • 需要 断点续传图片落盘反爬 / Stealth 相关协助

工具与脚本路由

按任务选用能力;具体工具名以当前 Agent 环境为准。

常见任务与建议方式

任务建议方式
获取收藏夹 JSON 列表Bashpython "${CLAUDE_SKILL_DIR}/scripts/fetch_zhihu_collection.py" <收藏夹URL或ID>;优先 API,失败降级 Playwright DOM
批量抓取正文与图片Bashpython "${CLAUDE_SKILL_DIR}/scripts/fetch_zhihu_batch.py" <列表.json> [输出目录] [图片目录];默认输出目录见「路径约定」
写入 Obsidian VaultBashpython "${CLAUDE_SKILL_DIR}/scripts/write_to_obsidian.py" <文章目录> [Vault路径];Vault:命令行优先,否则环境变量 OBSIDIAN_VAULT;会先找 <文章目录>/images,否则兼容同级 zhihu_images
Cookie 失效需人工登录Bashpython "${CLAUDE_SKILL_DIR}/scripts/zhihu_relogin.py"(会打开浏览器窗口)
首次登录辅助(可选验证页)Bashzhihu_login.py;可选 ZHIHU_VERIFY_URL 或首个参数传入完整 http(s) 链接,见「登录与可选页面验证」
单篇快速验证Bashfetch_zhihu_api.py / fetch_zhihu_stealth.py / fetch_zhihu_interactive.py / 汇总 fetch_zhihu.py(自动多策略),按场景选用
读本地已抓取 Markdown、排查 _progress.jsonRead / Grep

脚本一览

脚本用途典型场景
fetch_zhihu_collection.py收藏夹列表,智能版输出 zhihu_collection_{id}.json
fetch_zhihu_batch.py批量抓取,推荐大量文章、图片、images/_progress.json
fetch_zhihu.py自动降级抓取单篇、多策略串联
fetch_zhihu_api.pyAPI 直连快速测试
fetch_zhihu_stealth.pyPlaywright 隐身绕过常见自动化检测
fetch_zhihu_interactive.py交互式浏览器登录页、验证码
write_to_obsidian.py写入 Obsidian自动检测 Vault、智能分类、知乎收藏/
zhihu_relogin.py重新登录Cookie 不可用
zhihu_login.py登录辅助检测 z_c0;可选访问 ZHIHU_VERIFY_URL / 命令行 URL 做页面级验证
zhihu_login_save.py登录并保存按需配合 Cookie 流程

主流程(推荐执行顺序)

  1. 安装依赖scripts/requirements.txt + Chromium。
  2. fetch_zhihu_collection.py → 得到收藏夹 JSON 列表
  3. fetch_zhihu_batch.py → 生成 zhihu_articles_{collectionId}/(含 _progress.jsonimages/、编号 ***.md**)。
  4. (可选)write_to_obsidian.py → 同步到 {Vault}/知乎收藏/{分类}/

中断批量任务时:重新运行同一条 fetch_zhihu_batch.py 命令即可续跑(已完成 URL 记录在 _progress.json)。


路径与输出约定

批量抓取命令格式

python fetch_zhihu_batch.py <列表文件> [输出目录] [图片目录]
参数说明
列表文件fetch_zhihu_collection.py 产出的 JSON
输出目录可选;省略时默认为 {workspace}/zhihu_articles_{collectionId}/collectionId 由列表文件名推导)
图片目录可选;省略时默认为 {输出目录}/images/

目录结构示例

zhihu_articles_{collectionId}/
├── _progress.json          # 断点续传
├── images/                 # 默认图片目录
│   └── ...
├── 0001_文章标题.md
└── ...

单篇文章格式要点

  • YAML frontmatter:titleauthorsourceurlvoteupimages
  • 正文为 Markdown;图片引用指向本地 images/ 下文件名(或脚本生成的相对路径)

示例结构:

---
title: "文章标题"
author: "作者"
source: zhihu
url: "https://..."
voteup: 123
images: 5
---

# 文章标题

> 作者: xxx | 原文: [知乎链接](https://...)

正文...

持久化文件(默认 workspace)

用途路径
Cookie{workspace}/zhihu_cookies.json
Playwright 用户数据{workspace}/chrome_user_data/
默认文章目录{workspace}/zhihu_articles_{collectionId}/
默认图片目录{文章输出目录}/images/

Obsidian 写入要点

  • Vault:① 命令行第二个参数(优先让用户直接写出 Vault 根路径);② 未传时使用环境变量 OBSIDIAN_VAULT(单个路径);③ 仍无时脚本按常见目录扫描,多个命中时再交互选择。
  • 分类:优先对齐已有 知乎收藏/ 子目录;否则按内容关键词;无法归类则 「未分类」
  • 落盘{Vault}/知乎收藏/{分类}/{文章标题}.md;图片同步规则见 write_to_obsidian.py(目标侧常有集中 images 目录)。

已知问题与对策

#现象 / 原因处理
1Cookie 失效:标题「安全验证」、/account/unhuman自动恢复:脚本内置 3 次重试(激进保活:访问文章页+模拟阅读);仍失败则 zhihu_relogin.py
2收藏夹 API 分页:带 include 时列表可能被截断fetch_zhihu_collection.py 已内置 API ↔ DOM 切换;必要时减少 include 或走浏览器分页
3反爬:Headless 被识别Stealth、UA、间隔;必要时 fetch_zhihu_interactive.py
4API 正文不完整include 只给摘要批量与单篇流程中已优先 页面 DOM 拉全文
5图片下载失败正文仍保留原 URL;排查网络、Referer、过期链接
6Windows 控制台 GBK脚本已 sys.stdout.reconfigure(encoding='utf-8')
7批量中断直接再次运行 fetch_zhihu_batch.py,依赖 _progress.json
8失败项累积散发失败自动记录到 _progress.json(含 url/reason/title/timestamp);连续失败 ≥5 次中断并丢弃缓存;用 --retry-failed 参数可重试

Cookie 保活机制

脚本内置多层 Cookie 保活策略:

  1. 主动 TTL 检测(每篇文章):解析 z_c0 的 expires 字段,剩余 < 30 分钟时自动触发激进刷新
  2. 常规保活(每 5-8 篇):访问知乎列表页 + 模拟滚动
  3. 激进保活(每 ~20 篇):访问实际文章页 + 模拟阅读(停留 2-5 秒 + 滚动)
  4. 被动检测:每次访问文章时检查是否被重定向到 /account/unhuman/signin
  5. 自动恢复:检测到失效时,自动尝试 3 次激进保活恢复
  6. Cookie 备份:每次保活后自动从浏览器提取最新 Cookie 保存到文件(扩展格式含 expires)
  7. 安全退出:脚本结束前保存最新 Cookie + 当前进度

失败处理策略

脚本采用两级失败处理,区分「文章本身问题」和「环境问题」:

场景行为说明
散发失败(中间有成功)记录到 _progress.jsonfailed 字段视为文章本身问题(已删除/不可访问),后续跳过
连续失败 ≥ 5 次中断抓取,丢弃缓存的失败记录视为环境问题(Cookie/网络),下次重试仍可跑

工作原理:

  • 失败先缓存在内存中,不立即写入进度文件
  • 下一条成功时,将缓存的失败记录批量写入进度文件(确认是文章问题)
  • 连续失败达到阈值(5 次)时,中断抓取,丢弃缓存(保留重试机会)

相关常量:

  • CONSECUTIVE_FAIL_THRESHOLD = 5:连续失败阈值
  • CONSECUTIVE_FAIL_INTERRUPT = True:是否在连续失败时中断

重试模式:

python fetch_zhihu_batch.py <列表文件> [输出目录] [图片目录] --retry-failed

此模式会清空 failed 列表,只重试之前记录为失败的文章。


故障排查流程

正文全空?
  → Cookie(含 z_c0)→ 是否跳转验证页 → zhihu_relogin.py

图片失败?
  → URL/网络/Referer → Markdown 中仍可保留链接

批量中途停止?
  → 确认 _progress.json → 原命令重跑

Agent 自用工作流检查清单

□ 已确认 scripts 依赖与 playwright chromium 可用;必要时提示用户设置 OPENCLAW_WORKSPACE
□ 收藏夹任务:已运行 fetch_zhihu_collection.py 并得到合法 JSON,再执行 fetch_zhihu_batch.py
□ 批量输出路径:知悉默认 {workspace}/zhihu_articles_* 与 images/ 子目录;第三个参数仅在自定义图片目录时需要
□ Obsidian:`write_to_obsidian.py` 的文章目录含 *.md 与 images/;Vault 优先命令行路径或 **`OBSIDIAN_VAULT`**
□ 遇验证页或全文为空:优先 Cookie/重登录,而非重复盲目加大并发
□ 用户仅需单篇或调试:选用 fetch_zhihu_api / stealth / interactive / fetch_zhihu,避免不必要批量

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.28%
按下载量换算273

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills