轻量、零登录、无封号风险的 B 站 UP 主投稿监控工具。为日本 Vocaloid / 独立音乐人 / MCN 内容运营场景设计。
- 🔐 零登录:无需 B 站账号 Cookie,纯读操作
- 🛡️ 无封号风险:只用官方 wbi 签名接口,不做任何写操作
- 🎯 风控友好:随机延迟 + 指数退避重试,处理 HTTP 412
- 🤖 Claude 原生技能:附带 SKILL.md,可作为 Claude / Cowork 技能安装
- ⏰ 可定时:结合 Claude scheduled task 或 cron 实现全天候监控
- 💾 增量保存:单个 UP 处理完立即落盘,中途崩溃不丢基线
- 🌏 UP 主适配:兼容 B 站新老两代 UID 格式(含 16-17 位新格式)
- Vocaloid 曲师运营:监控合作曲师、竞品曲师的新投稿
- 歌い手 / 翻唱运营:跟踪歌手新作品,第一时间联络合作
- 绘师 / 映像师协作:视觉团队投稿动态跟进
- MCN 内容运营:批量监控旗下/合作 UP 主的发布节奏
- 粉丝私人使用:喜欢的 UP 一有更新立即知道
git clone https://github.com/lepockyio-ops/biliwatch.git
cd biliwatch
pip install -r requirements.txt
# 首次运行会自动为已订阅的 UP 建立基线(静默,不推送历史稿件)
python biliwatch.py checkpython biliwatch.py check # 检查所有订阅的新稿件
python biliwatch.py list # 列出所有订阅 + 最新已知稿件
python biliwatch.py status # 显示状态(上次检查时间等)
python biliwatch.py add https://space.bilibili.com/XXX # 添加订阅(支持 URL 或纯 UID)
python biliwatch.py add 12345 "自定义名字" # 添加时指定名字
python biliwatch.py remove 12345 # 删除订阅
python biliwatch.py init # 重置基线(谨慎使用)编辑 config.yaml:
subscriptions:
- uid: 3706942788733015
name: "二錠 (Nijou)"
- uid: 3707005669739282
name: "お冷やohiya (歌い手)"
settings:
# 每个 UP 之间随机等待秒数区间(越大越安全,越小越及时)
per_up_delay_sec: [5, 12]
# 每次抓取的稿件页数(默认 10,覆盖两次检查之间的所有新稿件足矣)
page_size: 10本仓库包含 SKILL.md,可以作为 Claude Skill 安装到 Claude Desktop / Cowork:
- 将
biliwatch/目录整体打包成.skill(zip 后改后缀) - 在 Claude 设置 → Capabilities → Skills → 安装
之后可以直接对 Claude 说:
- "跑一下 biliwatch,看看有没有新稿件"
- "biliwatch 加订阅 https://space.bilibili.com/xxx"
- "biliwatch status"
在 Claude 中说:
每 10 分钟自动跑一次 biliwatch,有新稿件就通知我
Claude 会创建定时任务,每次运行时读取输出并把新稿件以 markdown 卡片形式推给你。
*/10 * * * * cd /path/to/biliwatch && /usr/bin/python3 biliwatch.py check >> data/cron.log 2>&1在 check 命令的输出后加个简单管道脚本,把 NEW | 开头的行转成 Discord 消息即可。示例见 examples/discord_notify.py(下个版本添加)。
NEW | 二錠 (Nijou) | [本家] 新曲名字
时间: 2026-07-14 20:00
链接: https://www.bilibili.com/video/BVxxxx
时长: 04:12 首次抓到播放: 234
结构化设计,方便下游脚本 / Claude / LLM 解析。
biliwatch/
├── biliwatch.py # 主脚本(wbi 签名、拉取、去重、状态)
├── SKILL.md # Claude Skill 定义
├── config.yaml # 订阅列表 & 采集设置
├── requirements.txt # Python 依赖
├── README.md # 本文件
├── LICENSE # MIT
├── .gitignore
└── data/ # 运行时状态(不进仓库)
├── state.json # 每个 UP 的最新已见稿件
└── run.log # 运行日志
- wbi 签名:完整实现 B 站最新的 Wbi 签名算法(
img_key+sub_key→mixin_key→ MD5(query + mixin_key)) - 接口:
GET https://api.bilibili.com/x/space/wbi/arc/search(空间投稿列表) - 风控处理:非 JSON 响应视为 412 拦截,指数退避 20/40/60s 重试 3 次
- 会话管理:自动获取 buvid3 cookie,wbi key 每小时刷新一次
- 参考:bilibili-API-collect(B 站野生 API 收集)
- 仅监控视频稿件,暂不支持图文动态、专栏(v2 会加)
- 云端 IP 容易被 B 站更严格风控,若持续 412 建议部署到家用宽带或加住宅代理
- 每 UP 每次拉取最新 10 条稿件,若一个 UP 在两次检查之间发布超过 10 条会漏(Vocaloid / 歌手场景基本不可能)
- 单向监控:只报告"有新的",不做二次互动(评论、投币等写操作永远不做,避免风控)
- v1:视频稿件监控 + 基线管理 + Claude 技能
- v2:图文动态 / 专栏监控(
/x/polymer/web-dynamic) - v3:关键词过滤(标题命中"本家"/"投稿"/曲名才推)
- v4:Discord / Telegram / 企业微信推送模块
- v5:与"BiliRadar 数据雷达"联动,发现新稿后自动开始 24h 播放/点赞追踪
欢迎 PR。特别欢迎:
- 更多推送通道(Bark / Slack / 飞书 / Server 酱)
- Docker 镜像
- GitHub Actions workflow 示例
- 图文动态 API 适配
MIT © 2026 Pocky
本工具使用 B 站的野生 API(非官方开放平台),仅供个人学习和轻量运营辅助。使用者自行遵守 B 站服务条款。因滥用(高频请求、批量写操作、商业化爬虫等)造成的账号封禁或法律风险,与作者无关。
如需商业化 / 企业级应用,请使用 B 站官方开放平台。