--- name: bilibili-extractor description: B站视频内容提取工具,使用Playwright + undetected-playwright绕过反爬虫,支持提取视频信息、统计数据、字幕并生成Markdown笔记。 --- # SKILL.md - B站视频内容提取工具 ## 功能说明 这个工具可以从B站(bilibili.com)提取视频内容并生成结构化的Markdown笔记。 **核心能力:** - ✅ 绕过B站极验验证码 - ✅ 提取视频基本信息(标题、UP主、时长、发布时间) - ✅ 获取视频统计数据(播放量、点赞、投币、收藏、分享、弹幕、评论) - ✅ 提取视频字幕(如果有CC字幕) - ✅ 生成结构化Markdown笔记 ## 适用场景 当用户请求: - "帮我提取这个B站视频的内容:[链接]" - "分析这个B站视频:BV号" - "获取B站视频的字幕" - "生成B站视频的笔记" ## 工作原理 使用 Playwright + undetected-playwright (stealth_async) 绕过B站的反爬虫检测: 1. 使用stealth模式启动浏览器 2. 访问B站视频页面 3. 多策略提取数据(JS变量 → HTML解析 → API备用) 4. 处理验证码(如果触发) 5. 生成Markdown笔记 ## 使用方法 ### 方式1:直接运行脚本 ```bash cd /home/admin/.openclaw/workspace ./bilibili_venv/bin/python bilibili_extractor.py ``` ### 方式2:修改视频ID 编辑 `bilibili_extractor.py` 文件,修改 `bvid` 变量: ```python bvid = "BV11t64BJEDZ" # 修改为目标视频的BV号 ``` ### 方式3:作为子代理任务使用 启动子代理处理: ```python sessions_spawn( task="提取B站视频内容:BV11t64BJEDZ", model="zhipu/glm-4.7" ) ``` ## 文件位置 **主程序:** `/home/admin/.openclaw/workspace/bilibili_extractor.py` **虚拟环境:** `/home/admin/.openclaw/workspace/bilibili_venv/` **文档:** - `BILIBILI_EXTRACTOR_README.md` - 完整技术文档 - `USAGE.md` - 快速使用指南 - `PROJECT_SUMMARY.md` - 项目总结 **输出目录:** `/home/admin/.openclaw/workspace/notes/` ## 处理验证码 如果遇到验证码: 1. 修改脚本中的 `headless` 参数: ```python # 改为非headless模式 browser = p.chromium.launch(headless=False, args=args) ``` 2. 运行脚本,浏览器会显示,手动完成验证 3. 验证通过后可以改回 `headless=True` ## 支持的输入格式 - 短链接:`lid6E0m` - 完整短链接:`https://b23.tv/lid6E0m` - BV号:`BV11t64BJEDZ` - 完整视频链接:`https://www.bilibili.com/video/BV11t64BJEDZ` ## 短链接转换工具 如果需要将B站短链接转换为完整链接,可以使用: ```bash ./scripts/bilibili-short-to-long.sh lid6E0m ``` 输出:`https://www.bilibili.com/video/BV11t64BJEDZ` ## 注意事项 ⚠️ **反爬虫警告:** - B站可能随时更新反爬虫策略 - 频繁请求可能导致IP封禁 - 建议控制请求频率 ⚠️ **法律风险:** - 仅用于个人学习 - 遵守B站服务条款 - 不要大规模爬取 ## 故障排除 ### 问题1:无法绕过验证码 **解决方案:** - 使用非headless模式手动处理验证 - 更新 undetected-playwright 到最新版本 - 尝试更换浏览器配置参数 ### 问题2:页面加载超时 **解决方案:** - 检查网络连接 - 增加超时时间(修改脚本中的 timeout 参数) - 使用代理IP ### 问题3:无法提取字幕 **原因:** 目标视频可能没有CC字幕 **解决方案:** - 检查视频是否有字幕 - 脚本已优雅处理无字幕情况 ## 技术栈 - **Playwright** - 浏览器自动化框架 - **undetected-playwright** - 反检测插件 - **BeautifulSoup4** - HTML解析 - **Python 3.10+** ## 依赖安装 ```bash pip install playwright undetected-playwright beautifulsoup4 requests playwright install chromium ``` (虚拟环境已安装所有依赖) ## 示例输出 生成的Markdown笔记包含: ```markdown # 时代真变了!glm4.7+playwright cli, AI自主进行自动化测试 **UP主**: 录教程的乙醇啦 **BV号**: BV11t64BJEDZ **时长**: 04:46 **发布时间**: 2026-02-01 18:39:58 ## 视频统计 - 播放量: 969 - 点赞: 22 - 投币: 10 - 收藏: 72 - 分享: 15 - 弹幕: 0 - 评论: 9 ## 字幕内容 (如果有字幕) ... ``` ## 相关脚本 - `scripts/bilibili-short-to-long.sh` - B站短链接转换工具 - `scripts/install-browser-for-openclaw.sh` - 浏览器环境一键安装脚本 ## 更多信息 查看完整文档:`/home/admin/.openclaw/workspace/BILIBILI_EXTRACTOR_README.md`