--- name: kb-bilibili-metadata description: B站元数据提取 - 获取视频/专栏/UP主的详细信息 --- # KB Bilibili Metadata Skill **kb-bilibili-metadata** - 提取 B站视频、专栏、UP主的元数据。 ## 什么时候使用 - kb-workflow 步骤 2:获取 B站内容的元数据 - 需要视频标题、作者、时长等信息 ## 功能 - 视频元数据提取 - 专栏(article)元数据提取 - UP主信息提取 - JSON 输出格式 - 支持 `--output` 参数指定输出文件 ## 命令 ```bash # 视频元数据 python3 bilibili_metadata.py --id "BV1xx411c7mD" --type video # 专栏元数据 python3 bilibili_metadata.py --id "cv43780186" --type article # UP主信息 python3 bilibili_metadata.py --id "7770724" --type up # 指定输出文件 python3 bilibili_metadata.py --id "BV1xx411c7mD" --type video --output "metadata/bilibili_BV1xx411c7mD.meta.json" ``` ## 输出格式 Schema ### 必需字段 | 字段 | 类型 | 说明 | |------|------|------| | `success` | boolean | 是否提取成功 | | `platform` | string | 固定为 `bilibili` | | `content_id` | string | 内容 ID(BV号/cv号/uid) | | `content_type` | string | 内容类型(video/article/up) | | `title` | string | 标题(视频/专栏)或名称(UP主) | ### 可选字段 | 字段 | 类型 | 说明 | |------|------|------| | `author` | string | 作者/UP主名称 | | `duration` | string | 时长(视频) | | `description` | string | 简介/描述 | | `stats` | object | 统计数据(播放、点赞等) | | `output_file` | string | 输出文件路径 | | `error` | string | 错误信息(失败时) | ## 成功示例 ### 视频元数据 ```json { "success": true, "platform": "bilibili", "content_type": "video", "content_id": "BV1xx411c7mD", "title": "视频标题", "author": "UP主名字", "duration": "10:30", "description": "视频简介内容...", "stats": { "view": 100000, "like": 5000, "coin": 2000, "favorite": 1000, "share": 500, "danmaku": 3000 }, "output_file": "metadata/bilibili_BV1xx411c7mD.meta.json" } ``` ### 专栏元数据 ```json { "success": true, "platform": "bilibili", "content_type": "article", "content_id": "cv43780186", "title": "专栏标题", "author": "作者名字", "description": "专栏摘要...", "stats": { "view": 50000, "like": 2000, "comment": 500 }, "output_file": "metadata/bilibili_cv43780186.meta.json" } ``` ### UP主信息 ```json { "success": true, "platform": "bilibili", "content_type": "up", "content_id": "7770724", "title": "UP主名字", "description": "UP主签名...", "stats": { "follower": 1000000, "following": 100, "video_count": 500 }, "output_file": "metadata/bilibili_7770724.meta.json" } ``` ## 错误示例 ### 视频不存在 ```json { "success": false, "platform": "bilibili", "content_id": "BV1invalid", "content_type": "video", "error": "视频不存在或已被删除" } ``` ### 网络错误 ```json { "success": false, "platform": "bilibili", "content_id": "BV1xx411c7mD", "content_type": "video", "error": "网络请求失败: Connection timeout" } ``` ### 参数错误 ```json { "success": false, "error": "缺少必需参数: --id" } ``` ## 安装 ```bash cp -r kb-bilibili-metadata/ ~/.openclaw/skills/ pip install httpx playwright playwright install chromium ``` ## 在 kb-workflow 中的使用 ```bash # 步骤 2:元数据提取(B站视频) python3 ~/.openclaw/skills/kb-bilibili-metadata/bilibili_metadata.py \ --id "BV1xx411c7mD" --type video \ --output "metadata/bilibili_BV1xx411c7mD.meta.json" # 检查输出: # - success=true → 进入步骤 3 # - success=false → 检查错误,可能需要重试或退出 ``` ## 注意事项 - 部分视频可能需要登录才能获取完整信息 - 专栏内容可能需要额外的 Cookie 配置 - 如果使用 Playwright 方式,首次运行需要下载浏览器