该项目用于获取、处理、分析和可视化哔哩哔哩用户的观看历史数据。它提供了完整的数据处理流程,从数据获取到可视化展示,并支持自动化运行和邮件通知。
请前往此项目 BiliHistoryFrontend 获取配套的前端界面
- 获取历史记录
- 年度总结
- 视频和图片下载
- 一键下载用户所有投稿视频
- 自动化任务
- AI 摘要
- 获取用户评论
- 获取收藏夹
- 批量收藏
- 修复失效视频
- 一键下载收藏夹所有视频
- 获取视频观看总时长
项目正在积极开发中,您可以在我们的 GitHub 项目计划页面 查看最新的开发路线图和即将实现的功能。
如果您在使用过程中有任何问题或想与其他用户交流使用心得,欢迎加入我们的QQ交流群1030089634:
- Python 3.10+
- SQLite 3
- FFmpeg(用于视频下载)
- 必要的 Python 包(见 requirements.txt)
-
安装 Docker
-
根据您的系统构建 Docker 镜像:
# 使用 NVIDIA 显卡 docker build -t bilibili-api:dev -f docker/Dockerfile.cuda .
# 使用 CPU docker build -t bilibili-api:dev -f docker/Dockerfile.cpu .
-
创建 Docker 容器:
# 使用 NVIDIA 显卡 docker run -d -v ./config:/app/config -v ./output:/app/output -p 8899:8899 --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --name bilibili-api bilibili-api:dev# 使用 CPU docker run -d -v ./config:/app/config -v ./output:/app/output -p 8899:8899 --name bilibili-api bilibili-api:dev挂载目录说明:
./config:/app/config:配置文件目录,用于存储 SESSDATA 和其他配置./output:/app/output:输出目录,用于存储下载的视频、图片和生成的数据
本项目提供了Docker Compose配置,实现一键部署前后端服务,您只需要一个docker-compose.yml文件即可完成整个部署,无需手动构建镜像。
-
确保已安装 Docker 和 Docker Compose
-
下载
docker-compose.yml文件:- 直接从这里下载
- 或使用以下命令下载:
curl -O https://raw.githubusercontent.com/strangeZombies/BilibiliHistoryFetcher/master/docker-compose.yml # 或 wget https://raw.githubusercontent.com/strangeZombies/BilibiliHistoryFetcher/master/docker-compose.yml
-
使用Docker Compose启动服务:
docker-compose up -d
-
服务启动后访问:
- 前端界面:http://localhost:5173
- 后端API:http://localhost:8899
- API文档:http://localhost:8899/docs
-
管理Docker Compose服务:
# 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止服务 docker-compose stop # 重启服务 docker-compose restart # 重新构建并启动服务 docker-compose up -d --build
-
安装 uv
-
在项目根目录运行:
# 安装依赖 uv sync # 运行程序 uv run main.py
Linux/macOS系统:
# 安装 PyTorch(使用 NVIDIA 显卡) UV_TORCH_BACKEND=auto uv pip install torch torchaudio torchvision# 安装 PyTorch(使用 CPU) UV_TORCH_BACKEND=cpu uv pip install torch torchaudio torchvisionWindows系统:
# PowerShell中安装 PyTorch(使用 NVIDIA 显卡) $env:UV_TORCH_BACKEND="auto"; uv pip install torch torchaudio torchvision
# PowerShell中安装 PyTorch(使用 CPU) $env:UV_TORCH_BACKEND="cpu"; uv pip install torch torchaudio torchvision
# CMD中安装 PyTorch(使用 NVIDIA 显卡) set UV_TORCH_BACKEND=auto uv pip install torch torchaudio torchvision
# CMD中安装 PyTorch(使用 CPU) set UV_TORCH_BACKEND=cpu uv pip install torch torchaudio torchvision
# 运行程序 uv run main.py
如果您更喜欢使用传统的 pip 作为包管理器,可以按照以下步骤操作:
- 安装依赖
pip install -r requirements.txt- 运行程序
python main.py基础 URL: http://localhost:8899
完整 API 文档访问:http://localhost:8899/docs
本项目提供了自动化打包脚本,可以将应用打包成独立的可执行文件,便于分发和部署。打包过程会自动处理依赖并清理敏感信息。
打包前准备
确保已经安装了 PyInstaller:
pip install pyinstaller打包命令
使用以下命令进行打包:
python build.py打包完成后
- 输出目录:
dist/BilibiliHistoryAnalyzer/
敏感信息处理
打包过程会自动处理配置文件中的敏感信息:
-
创建临时清理过的配置文件,替换以下敏感字段为示例值:
SESSDATA:替换为"你的 SESSDATA"email:邮箱相关信息替换为示例邮箱地址和说明ssl_certfile/ssl_keyfile:替换为示例路径api_key:替换为"你的 API 密钥"
-
打包完成后,临时文件会被自动删除
-
打包版本中的配置文件包含原始结构但敏感字段被替换为示例值,用户需要首次运行时填写实际信息
运行打包后的应用
在目标系统上直接运行可执行文件:
# Windows系统
BilibiliHistoryAnalyzer.exe
首次运行注意事项:
- 打开
_internal/config/config.yaml文件 - 将示例值替换为您的实际配置信息:
- 填写您的 B 站
SESSDATA - 配置邮箱信息(如需使用邮件通知功能)
- 配置 DeepSeek API 密钥(如需使用 AI 摘要功能)
- 填写您的 B 站
- 保存配置文件后重新启动应用
- Fork 项目
- 创建特性分支
- 提交更改
- 发起 Pull Request
- bilibili-API-collect - 哔哩哔哩-API 收集整理,本项目使用其 API 接口获取 B 站用户数据
- Yutto - 可爱的 B 站视频下载工具,本项目使用其进行视频下载功能
- FasterWhisper - 音频转文字,本项目使用其进行视频音频转文字功能
- DeepSeek - DeepSeek AI API,本项目使用其进行 AI 摘要生成
- ArtPlayer - 强大且灵活的 HTML5 视频播放器
- aicu.cc - 第三方 B 站用户评论 API
- 方舟像素字体 - 开源的泛中日韩像素字体
- 缝合像素字体 - 混搭风格的像素字体
- 小黑盒用户 shengyI - 视频观看总时长功能思路提供者
- 所有贡献者,特别感谢 @eli-yip 对 Docker 部署的贡献

