安全扫描
OpenClaw
可疑
medium confidence该技能代码与说明目的相符(Bilibili搜索结果抓取和分析),但存在一致性差距和未声明的操作依赖。安装和运行前请审查。
评估建议
["未声明依赖:脚本和SKILL.md需要第三方CLI工具agent-browser,shell脚本使用jq,但未在注册元数据中列出。使用前请单独安装和审查agent-browser。","来源和来源地:包主页和源代码未知/占位符;建议从已知仓库获取技能或在本地检查完整代码后再运行。","速率限制和合法性:抓取公共页面可能违反服务条款;使用保守的抓取率并确认合规。","要求文件不匹配:INSTALL.md引用requirements.txt(pip),但清单中未包括它;运行analyze_data.py前请验证Python依赖。","在受限环境中运行:由于技能打开网页和写文件,请最初在沙盒或隔离账户中运行,并检查输出(JSON/报告文件)。如果允许代理自主调用,请注意它可以自动运行多页抓取;考虑限制调用或要求手动批准。"]...详细分析 ▾
ℹ 用途与能力
名称/描述(Bilibili抓取+分析)与包含的脚本和SKILL.md一致。然而,包元数据未列出所需的二进制文件,而SKILL.md、INSTALL.md和脚本明确需要外部工具`agent-browser`(并且抓取脚本也需要`jq`用于最终计数)。这是声明要求中的疏漏/不一致。
✓ 指令范围
运行时指令和脚本限制活动为打开Bilibili搜索页面,执行浏览器评估JavaScript提取公共页面数据,保存JSON文件,并运行本地Python分析。指令不引用与系统文件、环境秘密或超出Bilibili和本地文件系统的外部端点。它们指示多页抓取并使用sleep减慢请求,但它们给代理执行重复请求的自由——因此应考虑速率限制和反抓取行为。
ℹ 安装机制
注册表中没有正式的安装规格(仅指令),这风险较低;INSTALL.md提供了包括下载/解压缩或git克隆在内的手动安装步骤。包含的文件中没有来自不受信任URL的外部二进制下载。然而,INSTALL.md要求用户运行`agent-browser install`并使用pip安装要求(requirements.txt被引用但未出现在文件清单中),这些是需要验证的操作缺口。
✓ 凭证需求
技能未声明环境变量或凭证,脚本也不尝试读取秘密。请求和文件系统写入(创建bilibili_data_*.json和报告文件)与声明的数据收集目的成比例。
✓ 持久化与权限
技能未请求always:true,不修改其他技能,只在工作目录中写入输出文件。它通过agent-browser和本地脚本按需运行;未请求任何提升或持久的平台级权限。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/2/28
首个版本:B站视频搜索与数据分析
● 可疑
安装命令 点击复制
官方npx clawhub@latest install bilibili-analytics
镜像加速npx clawhub@latest install bilibili-analytics --registry https://cn.clawhub-mirror.com
技能文档
搜索和分析B站视频数据,生成统计报告。
快速开始
# 搜索关键词并抓取数据
agent-browser open "https://search.bilibili.com/all?keyword=你的关键词"
# 获取数据
agent-browser eval '抓取脚本'
# 生成报告
# 分析数据并输出统计
完整工作流程
1. 搜索视频
agent-browser open "https://search.bilibili.com/all?keyword={关键词}" --timeout 15000
2. 抓取数据
使用scripts/scrape_videos.sh 或手动执行:
agent-browser eval ' const videos = []; document.querySelectorAll(".bili-video-card").forEach((card) => { const title = card.querySelector(".bili-video-card__info--tit")?.textContent.trim() || ""; const author = card.querySelector(".bili-video-card__info--author")?.textContent.trim() || ""; const date = card.querySelector(".bili-video-card__info--date")?.textContent.trim() || ""; const stats = card.querySelectorAll(".bili-video-card__stats--item"); const playCount = stats[0]?.textContent.trim() || "0"; const commentCount = stats[1]?.textContent.trim() || "0"; videos.push({title, author, date, playCount, commentCount}); }); JSON.stringify(videos, null, 2); '
3. 多页面抓取
# 翻页抓取
for page in 1 2 3 4 5; do
agent-browser open "https://search.bilibili.com/all?keyword={关键词}&page=$page"
agent-browser eval '抓取脚本' >> data.json
done
4. 数据分析
使用scripts/analyze_data.py 或手动分析:
- 时间分布统计
- 作者活跃度排名
- 评论数分布
- 播放量分布
- 关键发现和建议
脚本说明
scripts/scrape_videos.sh
一键抓取脚本,支持指定关键词和页数。./scripts/scrape_videos.sh "关键词" 页数
scripts/analyze_data.py
数据分析脚本,生成统计报告。python scripts/analyze_data.py data.json
输出格式
统计报告模板
## 📊 Bilibili "{关键词}" 搜索结果统计报告
📈 总体数据
- 数据范围: 前N页搜索结果
- 视频总数: X个
- 采集时间: YYYY-MM-DD HH:MM
🕐 发帖时间分布
时间段 数量 占比
### 👥 活跃作者 TOP 10
排名 作者 视频数
### 💬 评论数分布
评论数范围 视频数 占比
### 👁️ 播放量分布
播放量范围 视频数 占比
### 🎯 关键发现
- ...
- ...
📝 建议
- ...
注意事项
- 反爬虫: B站有反爬虫机制,建议控制抓取频率
- 数据准确性: 数据实时变化,报告仅代表抓取时刻状态
- 隐私合规: 仅抓取公开数据,不涉及用户隐私
错误处理
- 浏览器启动失败:检查 agent-browser 安装
- 数据抓取失败:检查页面是否加载完成
- 分析脚本错误:检查数据格式是否正确
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制