# biliboard数据库 **Repository Path**: sembre/biliboard-database ## Basic Information - **Project Name**: biliboard数据库 - **Description**: 哔哩哔哩术力口周榜数据存储库 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2024-06-13 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # biliboard数据库 ## 项目介绍 哔哩哔哩术力口周榜数据存储库,用于收集、处理和展示哔哩哔哩平台上术力口相关视频的排行榜数据。 术力口(VOCALOID)是使用雅马哈开发的语音合成技术制作的虚拟歌手软件,拥有大量创作者和爱好者。本项目旨在为术力口社区提供一个权威、准确、实时的排行榜数据系统。 ## 功能特性 1. **数据爬取** - 自动从哔哩哔哩平台获取视频信息 - 收集视频的播放量、点赞数、投币数、收藏数、分享数等数据 - 支持API爬虫和传统网页爬虫两种方式 2. **数据处理与计算** - 自动计算视频得分和排名 - 处理时间修正和投票数据 - 支持在榜周数统计和更新 3. **数据存储** - 使用SQLite数据库存储结构化数据 - 支持Excel格式数据导入导出 - 提供数据去重和校验功能 4. **数据展示** - 提供Web界面展示周榜、月榜、半年榜等不同周期的榜单 - 支持实时数据更新展示 - 提供提名系统,允许用户自助提名视频 5. **自动化功能** - 自动生成榜单卡片图片 - 支持视频内容自动生成 - 提供MQTT通信支持,实现实时数据传输 ## 目录结构 ``` biliboard-database/ ├── Bilivideoinfo/ # 视频信息爬虫模块 ├── biliboard/ # 主网站模块 │ ├── mqtt通信/ # MQTT通信相关功能 │ └── templates/ # 网站模板文件 ├── bilisqlite/ # SQLite数据库管理模块 ├── 实时数据网站/ # 实时数据展示网站 ├── 更新在榜周数/ # 在榜周数更新模块 ├── 生成卡片/ # 榜单卡片图片生成模块 ├── 自动化UI/ # UI自动化模块 ├── 自动化视频生成/ # 视频自动生成模块 ├── 自动化计算得分/ # 得分计算模块 ├── 自助提名/ # 用户自助提名模块 ├── 表格写入sqlite/ # 表格数据写入数据库模块 └── ... ``` ## 核心模块介绍 ### 1. 数据爬取模块 (Bilivideoinfo/) - [API爬虫.py](file:///d:/biliboard-database/Bilivideoinfo/API%E7%88%AC%E8%99%AB.py) - 使用Bilibili API获取视频数据 - [AV爬虫.py](file:///d:/biliboard-database/Bilivideoinfo/AV%E7%88%AC%E8%99%AB.py) - 传统网页爬虫方式获取视频数据 - [爬取封面.py](file:///d:/biliboard-database/%E7%88%AC%E5%8F%96%E5%B0%81%E9%9D%A2.py) - 爬取视频封面图片 ### 2. 主网站模块 (biliboard/) - [website.py](file:///d:/biliboard-database/biliboard/website.py) - 主要网站功能实现 - 支持榜单数据展示、数据管理、日志记录等功能 - 提供RESTful API接口 ### 3. 数据库管理模块 (bilisqlite/, 表格写入sqlite/) - 提供SQLite数据库的增删改查功能 - 支持将Excel数据导入数据库 - 提供数据导出为Excel功能 ### 4. 得分计算模块 (自动化计算得分/) - [计算.py](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AE%A1%E7%AE%97%E5%BE%97%E5%88%86/%E8%AE%A1%E7%AE%97.py) - 根据播放量、点赞数等数据计算视频得分 - 支持投票数据整合和时间修正 ### 5. 自助提名模块 (自助提名/) - [app.py](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A9%E6%8F%90%E5%90%8D/app.py) - 用户自助提名功能实现 - 支持通过API密钥验证用户身份 ### 6. 自动化生成模块 (自动化视频生成/, 生成卡片/) - 自动生成榜单卡片图片 - 支持视频内容自动生成和拼接 ## 技术栈 - **后端**: Python 3.x, Flask框架 - **数据库**: SQLite - **前端**: HTML, CSS, JavaScript - **第三方库**: - bilibili-api - B站API接口 - pandas - 数据处理 - openpyxl - Excel文件处理 - flask-socketio - 实时通信 - **部署**: Gunicorn, uWSGI ## 安装与部署 1. 克隆项目代码: ``` git clone https://github.com/your-username/biliboard-database.git ``` 2. 安装依赖: ``` pip install -r requirements.txt ``` 3. 初始化数据库: ``` python init_db.py ``` 4. 运行主服务: ``` python website.py ``` 5. 访问网站: 在浏览器中打开 `http://localhost:5000` ## 使用说明 ### 数据爬取 1. 将需要爬取的视频BVID填入[BVID.xlsx](file:///d:/biliboard-database/BVID.xlsx)文件 2. 运行相应爬虫脚本获取数据 ### 数据处理 1. 将原始数据放入[本周/](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AE%A1%E7%AE%97%E5%BE%97%E5%88%86/%E6%9C%AC%E5%91%A8)和[上周/](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AE%A1%E7%AE%97%E5%BE%97%E5%88%86/%E4%B8%8A%E5%91%A8)文件夹 2. 运行[计算.py](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AE%A1%E7%AE%97%E5%BE%97%E5%88%86/%E8%AE%A1%E7%AE%97.py)进行得分计算 ### 数据展示 1. 启动[website.py](file:///d:/biliboard-database/biliboard/website.py)服务 2. 访问相应页面查看榜单数据 ### 自助提名 1. 启动[自助提名/app.py](file:///d:/biliboard-database/%E8%87%AA%E5%8A%A9%E6%8F%90%E5%90%8D/app.py)服务 2. 通过API密钥访问提名接口 ## 贡献指南 欢迎任何形式的贡献,包括但不限于: 1. Fork 本仓库 2. 创建新的功能分支 (git checkout -b feature/AmazingFeature) 3. 提交更改 (git commit -m 'Add some AmazingFeature') 4. 推送到分支 (git push origin feature/AmazingFeature) 5. 创建 Pull Request ## 许证证 本项目采用木兰宽松许可证第2版,详情请见 [LICENSE](file:///d:/biliboard-database/LICENSE) 文件。 ## 联系我们 欢迎加入我们的交流群: 960359484 ![第一期封面](%E5%91%A8%E6%A6%9C%E7%AC%AC%E4%B8%80%E6%9C%9F%E5%B0%81%E9%9D%A2.png) ![第一版ui](%E5%91%A8%E6%A6%9C.png)