This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw/skills/kb-bilibili-metadata/SKILL.md
T

188 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 方式,首次运行需要下载浏览器