<h1 align="center">
<img src="https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/static/picture/logo.svg" width="200">
</h1>
❗ | **本项目为python大作业所用,大一时期的个人工作,对于其他项目可能有一定的借鉴作用(事后会在板块中说明清楚)如有侵权,请联系我删除。**
:---: | :---
⚠️ | 因为是作业,所以此项目以展示和记录为主,这是本人第一次尝试开发前端,基本为边学边做,项目疏漏的地方一定很多,欢迎指正!再次强调(只供学习,如果涉及版权等问题,作者立刻删仓库跑路!)
## Introduction
该项目是一个**歌曲偏好分析系统**,它可以抓取特定用户的网易云音乐数据,进行相关处理,然后在网页上将数据可视化。它还包括根据用户的喜好向他们推荐艺术家和歌单,以及分析艺术家的听众用户情况。项目中存在大量私货,~~请谨慎使用~~
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/static/picture/keainie.gif)
## Technology Included
设计语言:Python + CSV + HTML + CSS + JS
数据爬虫:NeteaseCloudMusicApi + Requset + etree + json
数据清洗:re + replace + join + spilt
可视化:Flask + Echarts + WordCloud + Html
文本分析:jieba2
数据存储:CSV
## Features
- 支持使用网易云用户id登录
- 支持查询开放数据的用户信息
- 支持对登录用户喜爱的歌手可视化展示
- 支持展示用户最喜爱的top100歌曲
- 支持展示用户听歌偏好标签统计
- 支持展示用户评论区词云图,以及相关热评信息
- 支持通过作者id搜索任意作者信息
- 支持展示作者粉丝群体性别,居住地统计
- 支持展示作者创作偏好
- 支持展示作者热门歌曲以及热门评论
- 支持为登录用户推荐歌曲以及歌单
- ~~网页中存在各种私货,自行寻找喵~~
## TODO
- [ ] 歌曲搜索页面
- [ ] 基于歌曲的用户群体分析
- [ ] ~~更多私货~~
## DEMO
> 没有米,所以不能直接放网址展示在线demo喽,大家下载部署一下喵( 。ớ ₃ờ)ھ
> 以下会展现一些网页基本情况,用简单的gif来展示哩~
> (附: 有问题/赞助请联系[这里](mailto:bican700066@163.com)) ~~但是我不一定会回复~~
<details>
<summary>页面展示 (点击展开)</summary>
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/login.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/user.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/animation_user.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/artist.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/animation_artist.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/recommend.gif)
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/gif/logout.gif)
</details>
## 部署
下面的信息可能有一些繁琐枯燥甚至还有错误, 希望还可见谅。~~对于dalao来说肯定easy peace啦╮(๑•́ ₃•̀๑)╭~~
+ 部署内容分为两个板块,请认真阅读。
### 网易云api部署
项目中使用了网易云api作为爬虫的一部分,保证了实时爬虫的稳定性同时减少了用户配置爬虫的阶段。
> 详细配置流程请[看这里](https://github.com/Binaryify/NeteaseCloudMusicApi)
部署之前请确保你拥有/完成以下能力/事情:
- Node.js / JavaScript 基础
- 基本的报错阅读能力
- ~~说白了其实只要配置好node环境就可以了(😓)~~
<details>
<summary>简略部署流程 (点击展开)</summary>
#### 安装
```
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ cd NeteaseCloudMusicApi
$ npm install
```
#### 运行
```shell
$ node app.js
```
服务器启动默认端口为 3000, 若不想使用 3000 端口 , 可使用以下命令 : Mac/Linux
```shell
$ PORT=4000 node app.js
```
windows 下使用 git-bash 或者 cmder 等终端执行以下命令 :
```shell
$ set PORT=4000 && node app.js
```
服务器启动默认 host 为 localhost,如果需要更改, 可使用以下命令 : Mac/Linux
```shell
$ HOST=127.0.0.1 node app.js
```
windows 下使用 git-bash 或者 cmder 等终端执行以下命令 :
```shell
$ set HOST=127.0.0.1 && node app.js
```
</details>
### Celestial Music部署
项目使用的是python 3.10,不知道低版本会不会有什么问题。可以通过以下语句创建py 3.10的虚拟环境
```shell
conda create -n music_work python=3.10
```
都是一些很常见的库,可以通过pip来安装。不过这边建议使用虚拟环境捏~
> pip list
```shell
pip install pandas flask bs4 html5lib Jinja2 lxml requests jieba
pip install wordcloud imageio matplotlib numpy
```
如果还有没有覆盖到的,出现报错时pip一下就可以了
## 启动流程
1. 首先参照部署一中的内容,我们cd到NeteaseCloudMusicApi的目录下,运行以下内容:
```shell
node app.js
```
出现以下内容则说明运行成功:
```powershell
server running @ http://localhost:3000
```
2. 打开新的终端,cd到项目文件夹下,开启虚拟环境,并运行以下内容:
```shell
python app.py
```
出现以下内容则说明运行成功:
```shell
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://localhost:5000
Press CTRL+C to quit
```
在浏览器中访问[这里](http://localhost:5000)(运行成功了再点这里哦!!)
## 网页使用教程
1. **进入初始登录界面用户可以使用网易云id登录:**
- 如果输入的用户id是正常的即可进入用户界面,**注意**因为数据均为现场爬取所以需要等待一段时间,可以在**app.py**终端上查看爬取进程。
- 爬取阶段请耐心等待~~才不是没有解决的bug呢~~
- 如果输入错误的用户id将会跳转到**42**报错网址~~这里有彩蛋捏~~
- 如果爬取失败,将会进入**25252**报错界面
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/login.png)
2. **进入用户界面后,用户可以查看基本操作信息:**
<details>
<summary>可查看信息 (点击展开)</summary>
user:
- Top 10 Listening Tags
- User Avatar
- Basic Information
- Top100 Hot Music
- Top100 My Hot Music
- Favourite Singers Top8
- Hotword Cloud Chart
- Popular Reviews
</details>
3. **下一步操作:**
- 可以在Dash Menu上选择需要查看的板块
- 左上角可以收起Dash Menu
- 右上角有信息提醒板块,logout按钮,Help按钮
- 右下角齿轮可以更改UI配色
- 点击Favourite Singers Top8下的歌手名,可以直接跳转到相应歌手界面
- ~~关注塔菲喵~~没错这就是广告,我不是雏草姬
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/user.png)
4. **Search Artist板块:**
- 搜索板块可以基于作者的id搜索作者
- 如果id不正确会进入**42**报错页面
- 如果爬虫运行失败会进入**25252**报错页面,可以在终端查看爬虫运行进程
- Favourite Singers Top8板块提供了推荐作者以供选择
![](https://raw.githubusercontent.com/Shixu0310/Celestial-Music/master/img/search.png)
5. **Recommend To You板块:**
- Recommended Songs 1~4 推荐了四首当前user可能喜欢的歌曲,是基于网易云的推荐系统实现的。通过用户常听音乐的tag和相关分类搜索获得。
- Recommended Songs 5~8 同上推荐
- Singer Hit Song Hot Reviews 推荐了10个歌单并展示了歌单的tag
![](https://raw.githubusercontent.com/Shi
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 高分毕业设计 基于Python+Flask歌曲偏好分析系统源码+部署文档+全部数据资料 它可以抓取特定用户的网易云音乐数据,进行相关处理,然后在网页上将数据可视化它还包括根据用户的喜好向他们推荐艺术家和歌单,以及分析艺术家的听众用户情况 【备注】 1、该项目是高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11/linux测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
高分毕业设计 基于Python+Flask歌曲偏好分析系统源码+部署文档+全部数据资料 (210个子文件)
style.css 584KB
materialdesignicons.min.css 172KB
typicons.css 22KB
select2-bootstrap.min.css 16KB
select2.min.css 15KB
vendor.bundle.base.css 3KB
typicons.css 0B
simi_playlist_560457123.csv 75KB
simi_music_560457123.csv 59KB
simi_music_589632778.csv 35KB
top5_comments_7890.csv 12KB
top5_comments_33927412.csv 11KB
top5_comments_18122.csv 11KB
top5_comments_14077324.csv 10KB
top5_comments_21318.csv 6KB
top5_comments_33603866.csv 6KB
user_3352811053_top100.csv 6KB
user_589632778_top100.csv 5KB
user_560457123_top100.csv 5KB
artist_14077324.csv 5KB
artist_18122.csv 5KB
artist_21318.csv 5KB
user_490357753_top100.csv 5KB
artist_14002178.csv 5KB
top5_comments_14002178.csv 5KB
artist_7890.csv 5KB
user_3290139378_top100.csv 5KB
artist_33927412.csv 4KB
output_560457123.csv 3KB
artist_33603866.csv 3KB
top5_comments_16038.csv 1KB
top5_comments_589632778.csv 1KB
top5_comments_490357753.csv 1KB
output_589632778.csv 1KB
top5_comments_3352811053.csv 1KB
top5_comments_3290139378.csv 1KB
output_560457123.csv 1003B
top10_img_589632778.csv 988B
top10_img_490357753.csv 966B
top10_img_3352811053.csv 954B
top10_img_3290139378.csv 952B
top10_img_560457123.csv 938B
artist_16038.csv 800B
top5_comments_560457123.csv 772B
tag_counts_560457123.csv 517B
tag_counts_3290139378.csv 487B
tag_counts_3352811053.csv 461B
tag_counts_589632778.csv 421B
tag_counts_490357753.csv 376B
tag_counts_33927412.csv 324B
tag_counts_14077324.csv 289B
tag_counts_18122.csv 279B
tag_counts_7890.csv 275B
tag_counts_21318.csv 163B
tag_counts_14002178.csv 114B
tag_counts_33603866.csv 85B
tag_counts_16038.csv 73B
user_123456_top100.csv 54B
top10_img_123456.csv 33B
tag_counts_123456.csv 13B
materialdesignicons-webfont.eot 647KB
Roboto-Medium.eot 177KB
Roboto-Regular.eot 177KB
Roboto-Black.eot 177KB
Roboto-Bold.eot 176KB
Roboto-Light.eot 176KB
typicons.eot 98KB
user.gif 9.5MB
recommend.gif 8.92MB
artist.gif 6.58MB
animation_artist.gif 2.1MB
keainie.gif 2.09MB
animation_user.gif 852KB
login.gif 660KB
logout.gif 487KB
.gitattributes 2B
artist.html 41KB
index.html 31KB
recommend.html 28KB
search.html 18KB
help.html 3KB
documentation.html 3KB
login.html 3KB
error-404.html 2KB
error-500.html 2KB
wordcloud_part3_490357753.jpg 95KB
wordcloud_part3_589632778.jpg 90KB
wordcloud_part3_3352811053.jpg 90KB
wordcloud_part3_560457123.jpg 80KB
wordcloud_part2_16038.jpg 18KB
wordcloud_part2_14002178.jpg 18KB
wordcloud_part2_7890.jpg 17KB
wordcloud_part2_18122.jpg 17KB
wordcloud_part2_21318.jpg 17KB
wordcloud_part2_14077324.jpg 17KB
wordcloud_part2_33927412.jpg 17KB
wordcloud_part2_33603866.jpg 15KB
echarts.js 3.18MB
vendor.bundle.base.js 181KB
Chart.min.js 153KB
共 210 条
- 1
- 2
- 3
资源评论
不走小道
- 粉丝: 3339
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于JavaWeb的学生管理系统.zip
- (源码)基于Android的VR应用转换系统.zip
- (源码)基于NetCore3.1和Vue的系统管理平台.zip
- (源码)基于Arduino的蓝牙控制LED系统.zip
- SwitchResX 4.6.4 自定义分辨率 黑苹果神器
- (源码)基于Spring Boot和MyBatis的大文件分片上传系统.zip
- (源码)基于Spring Boot和MyBatis的后台管理系统.zip
- (源码)基于JDBC的Java学生管理系统.zip
- (源码)基于Arduino的教室电力节能管理系统.zip
- (源码)基于Python语言的注释格式处理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功