This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-skills/docs/research-notes/phase-2-data-api.md
T
OpenClaw Agent 7e0acef4f9 feat: add skills and workspace files
- Add complete skill set including feishu, github, ci-gen, etc.
- Add workspace documentation (AGENTS.md, SOUL.md, etc.)
- Add memory system and project context
2026-02-06 19:14:24 +08:00

6.6 KiB
Raw Blame History

B站插件调研 - Phase 2 数据获取能力调研

调研时间: 2026-02-06
调研人: 阿里巴巴助手
数据来源: bili-auth 项目文档、B站Web API分析、社区经验


2.1 用户数据API能力

✅ 可获取数据

数据类型 API端点 说明 是否需要登录
用户基础信息 api.bilibili.com/x/space/acc/info 用户名、头像、等级、签名 否
用户状态数 api.bilibili.com/x/relation/stat 关注数、粉丝数 否
关注列表 api.bilibili.com/x/relation/followings 用户的关注列表(分页) 是(Cookie)
粉丝列表 api.bilibili.com/x/relation/followers 用户的粉丝列表 是
UP主动态 api.bilibili.com/x/polymer/web-dynamic/v1/feed/space 用户发布的动态 否
投稿视频 api.bilibili.com/x/space/arc/search 用户上传的视频列表 否

❌ 无法获取(需特殊权限)

数据类型 说明
观看历史 需登录态,且仅限本人
收藏列表 需登录态,且仅限本人
稍后再看 需登录态,且仅限本人
私信内容 隐私数据,无法获取
手机号/邮箱 敏感信息,无法获取
实名信息 隐私数据,无法获取

2.2 视频数据API能力

✅ 可获取数据

数据类型 API端点 说明
视频详情 api.bilibili.com/x/web-interface/view 标题、描述、播放量、点赞数等
视频搜索 api.bilibili.com/x/web-interface/search/type 关键词搜索视频
热门视频 api.bilibili.com/x/web-interface/popular 全站热门榜单
排行榜 api.bilibili.com/x/web-interface/ranking/v2 分区排行榜
视频流 api.bilibili.com/x/web-interface/index/top 首页推荐
分P信息 api.bilibili.com/x/player/pagelist 多P视频的分集信息
弹幕 api.bilibili.com/x/v1/dm/list.so 视频弹幕(XML格式)
评论 api.bilibili.com/x/v2/reply 视频评论列表

视频详情字段示例

{
  "bvid": "BV1xx411c7mD",
  "title": "视频标题",
  "desc": "视频描述",
  "owner": {
    "mid": 123456,
    "name": "UP主名称"
  },
  "stat": {
    "view": 100000,      // 播放量
    "like": 5000,        // 点赞
    "coin": 1000,        // 投币
    "favorite": 2000,    // 收藏
    "share": 500,        // 分享
    "reply": 300         // 评论
  },
  "duration": 600,       // 时长(秒)
  "pubdate": 1609459200  // 发布时间
}

2.3 互动数据API能力

✅ 可获取数据

数据类型 说明 限制
评论列表 视频的评论及回复 公开数据
弹幕列表 视频的弹幕内容 公开数据,需解析XML
点赞/投币/收藏数 视频的互动统计 公开数据
分享数 视频被分享次数 公开数据

❌ 无法获取

数据类型 说明
用户是否点赞 需登录态
用户是否投币 需登录态
用户是否收藏 需登录态
用户播放进度 隐私数据

2.4 API限制与风控

频率限制

场景 限制 说明
未登录请求 约 100次/分钟 IP级别限制
登录后请求 约 300次/分钟 账号级别限制
搜索接口 约 30次/分钟 较严格
评论接口 约 60次/分钟 防刷机制

反爬机制

机制 触发条件 应对策略
412 Precondition Failed 请求过快、UA异常 降低频率、使用正常UA
-412 风控 IP被封 更换IP、使用代理
验证码 异常行为 人工介入或暂停
-401 未登录 Cookie失效 重新授权

请求头要求

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Referer: https://www.bilibili.com
Origin: https://www.bilibili.com

2.5 bili-auth 授权后可获取的数据范围

通过 bili-auth 获得的凭证

bili-auth 提供标准 OAuth 2.0 流程,返回:

  • access_token - 访问令牌
  • refresh_token - 刷新令牌(可选)
  • expires_in - 过期时间

实际可用数据

bili-auth 本身不提供额外的API能力,它只是一个授权桥梁。获得 access_token 后,实际能调用的API仍然是 B站公开API。

关键限制:

  • bili-auth 不直接提供 Cookie
  • 某些 API 需要 SESSDATA 等 Cookie 字段
  • 部分用户数据(如观看历史)需要完整的登录态

推荐的数据获取策略

方案A: bili-auth + 公开API(推荐)
- 使用 bili-auth 获取用户身份
- 调用公开 API 获取视频数据、UP主动态
- 无需处理 Cookie

方案B: bili-auth + Cookie 模拟(进阶)
- 从授权流程中提取 Cookie
- 获取更全面的用户数据
- 风险更高,需更谨慎

2.6 数据获取能力总结

✅ 可实现的 MVP 功能

功能 数据支持 可行性
关注UP主列表 ✅ 关注列表 API 高
UP主动态监控 ✅ 空间动态 API 高
新视频提醒 ✅ 投稿列表 API 高
视频搜索 ✅ 搜索 API 高
视频详情查看 ✅ 视频详情 API 高
热门/排行榜 ✅ 排行榜 API 高

⚠️ 受限的功能

功能 限制 替代方案
观看历史同步 需完整登录态 仅支持公开数据
收藏夹同步 需完整登录态 仅支持公开收藏
一键三连 需登录态+风控 不支持
发送评论/弹幕 需登录态+风控 不支持

❌ 无法实现的功能

功能 原因
查看私信 隐私数据,无API
修改个人资料 需完整登录态
投稿视频 需完整登录态+上传接口
直播操作 需直播开放平台权限

2.7 技术实现建议

API 调用最佳实践

  1. 缓存策略

    • 视频详情缓存 1小时
    • 用户资料缓存 24小时
    • 动态列表缓存 5分钟
  2. 错误处理

    • 412 错误 → 自动降速 + 重试
    • -401 错误 → 提示重新授权
    • 网络错误 → 指数退避重试
  3. 频率控制

    • 单账号请求 < 200次/分钟
    • 添加随机延迟 100-500ms
    • 使用队列管理请求

下一步行动

进入 Phase 3 - 风险评估(已完成大部分,需整理文档)和 Phase 4 - 对标分析