核心功能
bilibili-all-in-one 是一款功能完整的 Bilibili 内容管理工具,整合六大核心模块:
| 模块 | 功能说明 | 认证需求 |
|:---|:---|:---|
| 🔥 **Hot Monitor** | 实时热门/热搜/排行榜/必看榜监控,支持多分类筛选 | 无需认证 |
| ⬇️ **Downloader** | 视频批量下载,支持 360p-4K 多画质、MP4/FLV/MP3 多格式 | 高清需登录 |
| 👀 **Watcher** | 播放量、点赞、评论等数据追踪与对比分析 | 无需认证 |
| 📝 **Subtitle** | CC字幕下载及格式转换,无字幕时自动语音转写或提取弹幕 | 无需认证 |
| ▶️ **Player** | 获取直链播放地址、弹幕数据、分P列表 | 高清需登录 |
| 📤 **Publisher** | 视频上传、定时发布、草稿管理、编辑修改 | **必须登录** |
显著优点
1. 功能聚合度高:单工具覆盖从内容消费到生产的完整链路,避免多工具切换
2. 零门槛基础使用:热门监控、标清下载、字幕获取等核心功能完全无需登录
3. 智能字幕 Fallback:无官方 CC 字幕时,自动调用 faster-whisper 语音转写或提取弹幕作为替代
4. 灵活的认证策略:凭证默认内存存储,可选持久化(0600权限),支持环境变量/文件/参数三种传入方式
5. 纯官方 API 通信:所有请求定向 api.bilibili.com 等官方域名,HTTPS 加密传输
潜在局限与风险
| 问题 | 说明 |
|:---|:---|
| **凭证安全风险** | `SESSDATA`/`bili_jct` 为完整浏览器会话 Cookie,非限定权限 API Key,泄露即等于账号失控 |
| **功能依赖外部** | 语音转写需额外安装 `faster-whisper`;视频合并依赖本地 ffmpeg |
| **发布模块高敏感** | 上传/编辑操作直接操作账号内容,误操作或凭证泄露可导致内容被篡改/删除 |
| **无速率限制说明** | 批量下载、高频监控可能触发 Bilibili 反爬机制 |
| **编辑需重传视频** | `edit` 操作要求重新提供 `file_path`,非纯元数据修改 |
适合人群
- 内容创作者:需要批量管理稿件、定时发布、多视频数据对比
- 研究人员/分析师:追踪热门趋势、采集公开视频数据与字幕
- 归档爱好者:系统性备份收藏视频及字幕资源
- 开发者:需要程序化 Bilibili 接口的 Python/CLI 调用方案
常规风险提醒
- 务必使用测试账号:切勿在主账号上测试 Publisher 功能
- 持久化谨慎开启:仅当需要跨会话保留凭证时才启用
BILIBILI_PERSIST - 定期清理凭证:使用
auth.clear_persisted()或手动删除.credentials.json - 监控网络流量:虽声明仅访问官方域名,仍建议初次使用抓包验证
- 关注 Cookie 有效期:Bilibili 会话 Cookie 会过期,需定期更新
技术实现
- Python ≥3.8,基于
httpx/aiohttp异步 HTTP 客户端 - 模块化架构,各功能可独立调用或统一通过
BilibiliAllInOne类执行 - 统一 JSON 响应格式,便于程序化集成