Bilibili Analytics
搜索和分析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
| 排名 | 作者 | 视频数 |
|------|------|--------|
### 💬 评论数分布
| 评论数范围 | 视频数 | 占比 |
|------------|--------|------|
### 👁️ 播放量分布
| 播放量范围 | 视频数 | 占比 |
|------------|--------|------|
### 🎯 关键发现
1. ...
2. ...
### 📝 建议
- ...
注意事项
- 反爬虫: B站有反爬虫机制,建议控制抓取频率
- 数据准确性: 数据实时变化,报告仅代表抓取时刻状态
- 隐私合规: 仅抓取公开数据,不涉及用户隐私
错误处理
- 浏览器启动失败:检查 agent-browser 安装
- 数据抓取失败:检查页面是否加载完成
- 分析脚本错误:检查数据格式是否正确