--- name: kb-zhihu-metadata description: 知乎元数据提取 - 获取问题/回答/专栏/视频的详细信息 --- # KB Zhihu Metadata Skill **kb-zhihu-metadata** - 提取知乎问题、回答、用户、专栏的元数据。 ## 什么时候使用 - kb-workflow 步骤 2:获取知乎内容的元数据 - 需要问题标题、回答者、文章标题等信息 ## 功能 - 问题元数据提取 - 回答元数据提取 - 用户信息提取 - 专栏文章爬取(使用 MediaCrawler) - 支持 `ZHIHU_COOKIE` 环境变量 ## 环境变量 | 变量名 | 必需 | 说明 | |--------|------|------| | `ZHIHU_COOKIE` | 推荐 | 知乎登录 Cookie(访问专栏等需要) | **获取 Cookie:** 1. 登录知乎网页版 2. F12 → Application → Cookies → zhihu.com 3. 复制 Cookie 字符串 ```bash export ZHIHU_COOKIE="你的知乎Cookie" ``` ## 命令 ```bash # 问题元数据 python3 zhihu_metadata.py --id "266309957" --type question # 回答元数据 python3 zhihu_metadata.py --id "2003427891925509507" --type answer # 知乎视频 python3 zhihu_metadata.py --id "123456789" --type zvideo # 专栏文章爬取(使用 MediaCrawler) python3 zhihu_article_crawler.py --url "https://zhuanlan.zhihu.com/p/1894054073625461813" --output "~/work/knowledge-base/data/zhihu/" ``` ## 输出格式 Schema ### 必需字段 | 字段 | 类型 | 说明 | |------|------|------| | `success` | boolean | 是否提取成功 | | `platform` | string | 固定为 `zhihu` | | `content_id` | string | 内容 ID | | `content_type` | string | 内容类型 | | `title` | string | 标题 | ### 可选字段 | 字段 | 类型 | 说明 | |------|------|------| | `author` | string | 作者名称 | | `excerpt` | string | 摘要 | | `stats` | object | 统计数据 | | `output_file` | string | 输出文件路径 | | `error` | string | 错误信息 | ## 成功示例 ### 问题元数据 ```json { "success": true, "platform": "zhihu", "content_type": "question", "content_id": "266309957", "title": "问题标题", "excerpt": "问题描述...", "stats": { "answer_count": 50, "follower_count": 1000, "view_count": 50000 }, "output_file": "metadata/zhihu_266309957.meta.json" } ``` ### 回答元数据 ```json { "success": true, "platform": "zhihu", "content_type": "answer", "content_id": "2003427891925509507", "title": "问题标题(回答所属问题)", "author": "回答者名字", "excerpt": "回答摘要...", "stats": { "voteup_count": 1000, "comment_count": 50 }, "output_file": "metadata/zhihu_2003427891925509507.meta.json" } ``` ### 专栏文章 ```json { "success": true, "platform": "zhihu", "content_type": "zhuanlan", "content_id": "1894054073625461813", "title": "文章标题", "author": "作者名字", "excerpt": "文章摘要...", "output_file": "metadata/zhihu_1894054073625461813.meta.json" } ``` ### 知乎视频 ```json { "success": true, "platform": "zhihu", "content_type": "zvideo", "content_id": "123456789", "title": "视频标题", "author": "作者名字", "duration": "10:30", "output_file": "metadata/zhihu_123456789.meta.json" } ``` ## 错误示例 ### 内容不存在 ```json { "success": false, "platform": "zhihu", "content_id": "invalid_id", "content_type": "question", "error": "问题不存在或已被删除" } ``` ### 需要登录 ```json { "success": false, "platform": "zhihu", "content_id": "1894054073625461813", "content_type": "zhuanlan", "error": "需要登录才能访问", "suggestion": "请配置 ZHIHU_COOKIE 环境变量" } ``` ### 网络错误 ```json { "success": false, "error": "网络请求失败: Connection timeout" } ``` ## 安装 ```bash cp -r kb-zhihu-metadata/ ~/.openclaw/skills/ pip install httpx ``` ## 在 kb-workflow 中的使用 ```bash # 步骤 2:元数据提取(知乎问题) python3 ~/.openclaw/skills/kb-zhihu-metadata/zhihu_metadata.py \ --id "266309957" --type question \ --output "metadata/zhihu_266309957.meta.json" # 步骤 2:元数据提取(知乎视频) python3 ~/.openclaw/skills/kb-zhihu-metadata/zhihu_metadata.py \ --id "123456789" --type zvideo \ --output "metadata/zhihu_123456789.meta.json" ``` ## 注意事项 - 专栏文章可能需要登录才能访问 - MediaCrawler 需要单独安装:`~/work/MediaCrawler` - 部分内容可能有访问限制