# Bilibili-Analysis **Repository Path**: sakurapaid/bilibili-analysis ## Basic Information - **Project Name**: Bilibili-Analysis - **Description**: 一个基于Python开发的B站(Bilibili)热门视频数据可视化技术展示分析项目 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 0 - **Created**: 2024-12-04 - **Last Updated**: 2025-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, pandas, Plotly, dash, 网络爬虫 ## README # B站热门视频数据爬虫可视化分析 ## 项目简介 这是一个使用Python开发的B站(Bilibili)热门视频数据分析系统。该系统通过爬取B站热门视频的数据,存储到MySQL数据库中,并利用数据可视化技术展示分析结果,帮助用户深入了解B站热门视频的特点和趋势。本项目使用Apache License Version 2.0开源协议。 --- ## 核心功能 + 数据爬取:自动从B站API获取热门视频数据。 + 数据存储:将爬取的数据存储到MySQL数据库中。 + 数据分析与可视化:使用Pandas进行数据处理,Plotly和Dash进行数据可视化,展示多种分析图表。 --- ## 技术栈 + 编程语言:Python 3.9+ + 数据爬取:requests + 数据处理:pandas + 数据可视化:plotly, dash + 数据库:MySQL + 数据库连接:mysql.connector, sqlalchemy --- ## 运行环境 + IDE:PyCharm 2022 及以上 + 操作系统:Windows 10 及以上 + 依赖库:requests, pandas, plotly, dash, mysql-connector-python, sqlalchemy --- ## 快速开始 ### 安装依赖库 这里使用国内镜像快速下载 ```plain pip install -i https://mirrors.aliyun.com/pypi/simple/ requests pandas plotly dash mysql-connector-python sqlalchemy ``` ### 配置本地数据库 在 creatsql 文件夹下的 createSQL.sql 文件,创建 Bilibili_analysis 数据库和对应 bilibili_vedios 数据表 ![输入图片说明](asset/PresentationPicture00.png) 注意: **在 DB_operations.py 文件里配置本地 MySQL 数据库配置** **本地 MySQL 的用户和密码默认为 root、root,如果不同,请修改,否则数据无法存入数据库** ![输入图片说明](asset/PresentationPicture01.png) ### 运行爬虫脚本 ```plain python BilibiliPopularVideoCrawl.py ``` 输入想要爬取的热门视频页数 ![输入图片说明](asset/PresentationPicture02.png) ![输入图片说明](asset/PresentationPicture03.png) ![输入图片说明](asset/PresentationPicture04.png) ![输入图片说明](asset/PresentationPicture05.png) ### 运行数据分析与可视化脚本 ```plain python Bilibili_analysis.py ``` ![输入图片说明](asset/PresentationPicture10.png) ### 访问Web界面 打开浏览器访问 [http://127.0.0.1:8050/](http://127.0.0.1:8050/) 查看数据分析结果 ![输入图片说明](asset/PresentationPicture06.png) ![输入图片说明](asset/PresentationPicture07.png) ![输入图片说明](asset/PresentationPicture08.png) ![输入图片说明](asset/PresentationPicture09.png)