基于Python数据可视化的网易云音乐歌单分析系统
目录
《Python数据分析初探》项目报告
- 基于Python数据可视化的网易云音乐歌单分析系统
- 一、项目简介
- (一)项目背景
- (二)项目过程
- 二、项目设计流程图
- (一)基于Python数据可视化的网易云音乐歌单分析系统的整体架构
- (二)获取歌单索引页的信息
- (三)获取歌单详情页的信息
- (四)歌曲出现次数 TOP10
- (五)网易云音乐欧美歌单播放 TOP10
- (六)网易云音乐欧美歌单评论 TOP10
- (七)欧美歌单播放数量分布情况
- (八)网易云音乐欧美歌单标签图
- (九)歌单介绍词云图
- 三、项目实现代码 (太长,略)
- 四、项目分析结果
- (一)歌曲出现次数 TOP10
- (二)网易云音乐欧美歌单播放 TOP10
- (三)网易云音乐欧美歌单评论 TOP10
- (四)欧美歌单播放数量分布情况
- (五)网易云音乐欧美歌单标签图
- (六)歌单介绍词云图
- (七)音乐歌单运营分析
- (八)歌单数据可视化的商业价值
基于Python数据可视化的网易云音乐歌单分析系统
有任何学习问题可以加我微信交流哦!bmt1014
一、项目简介
(一)项目背景 1
(二)项目过程 1
二、项目设计流程图 3
(一)基于Python数据可视化的网易云音乐歌单分析系统的整体架构 3
(二)获取歌单索引页的信息 4
(三)获取歌单详情页的信息 5
(四)歌曲出现次数 TOP10 6
(五)网易云音乐欧美歌单播放 TOP10 6
(六)网易云音乐欧美歌单评论 TOP10 7
(七)欧美歌单播放数量分布情况 7
(八)网易云音乐欧美歌单标签图 8
(九)歌单介绍词云图 8
三、项目实现代码 (代码太长,没放)
(一)netease_cloud_music_data_analysis.py 9
(二)music_index.py 11
(三)music_detail.py 13
(四)top_10_song.py 15
(五)top_10_ea_song_playlists.py 17
(六)top_10_of_ea_song_collection.py 19
(七)top_10_of_ea_song_comment.py 21
(八)top_10_ea_song_collection_distribution.py 23
(九)top_10_ea_song_playlists_distribution.py 25
(十)label_ea_song.py 26
(十一)music_wordcloud.py 28
四、项目分析结果 30
(一)歌曲出现次数 TOP10 31
(二)网易云音乐欧美歌单播放 TOP10 32
(三)网易云音乐欧美歌单评论 TOP10 32
(四)欧美歌单播放数量分布情况 33
(五)网易云音乐欧美歌单标签图 34
(六)歌单介绍词云图 35
(七)音乐歌单运营分析 35
(八)歌单数据可视化的商业价值 37
一、项目简介
(一)项目背景
随着音乐软件的普及,海量的相关数据被创造。在大数据的时代,任何大量的数据一旦被利用起来,将会产生巨大的价值。利用 Python 分析歌曲的相关数据来挖掘客户的需求并更进一步的扩大用户量的例子比比皆是。
考虑到现实的可操作性以及 Python 在数据分析和交互、探索性计算以及数据可视化等方面都有非常成熟的库。且经过小组测试可行性,决定利用 Python 对音乐软件歌单进行分析。
(二)项目过程
此次项目利用 Python 对网易云音乐歌单数据的获取,对歌单数据进行可视化分析。得出歌单的评论、收藏、播放、贡献、分布的数量图以及词云,并提出歌单优化的建议。
项目利用爬虫对数据获取,后对其进行数据清洗,最终进行数据可视化。在分析过程中使用 numpy, pandas, matplotlib, time, requests, squarify, jieba, wordcloud, bs4 第三方模块,最后以柱状图,词云图 以及标签图来展示歌曲收藏量,播放量等相关分析结果并结合相关数据优化歌单播放量。
最后我们实现了项目,并对项目进行了测试。


二、项目设计流程图
(一)基于Python数据可视化的网易云音乐歌单分析系统的整体架构

(二)获取歌单索引页的信息

(三)获取歌单详情页的信息

(四)歌曲出现次数 TOP10

(五)网易云音乐欧美歌单播放 TOP10

(六)网易云音乐欧美歌单评论 TOP10

图 8 网易云音乐欧美歌单评论 TOP10 的流程图
(七)欧美歌单播放数量分布情况

图 9 欧美歌单播放数量分布情况的流程图
(八)网易云音乐欧美歌单标签图

图 10 网易云音乐欧美歌单标签图的流程图
(九)歌单介绍词云图

图 11 歌单介绍词云图的流程图
三、项目实现代码 (太长,略)
四、项目分析结果
网易云用户是很习惯创建歌单的一个用户群体,很多用户也是通过歌单了解到一些歌曲。一个网易云用户甚至自己一个人就创建上百个歌单,我们爬取了网易云欧美歌单的数据,制作了以下表格。
(一)歌曲出现次数 TOP10

图 12 网易云音乐欧美歌单歌曲 TOP10
我们获得了网易云音乐欧美歌单中的 TOP10 歌曲,相信熟悉欧美歌曲的小伙伴们对这些歌都很熟悉,他们曾经或许就出现在推荐给你的歌单中。
(二)网易云音乐欧美歌单播放 TOP10

图 13 网易云音乐欧美歌单播放 TOP10
这是欧美歌单播放量前十排行榜,第一名拥有高达 4 亿的播放量,可见欧美歌曲是非常令人欢迎的。在歌单中统计中我们可以看到旋律和节奏是很多欧美音乐爱好者们比较看重和喜欢的。
(三)网易云音乐欧美歌单评论 TOP10

图 14 网易云音乐欧美歌单评论 TOP10
可以看到歌单【定制 最懂你的欧美推荐 每日更新35首】的评论数量最多。这可能与他日更与定制的性质有关。可以看到,很多热门的歌单其评论通常也很多。这个榜单中的歌单在上一个热门歌单的榜单也能找到。
(四)欧美歌单播放数量分布情况

图 15 欧美歌单播放数量分布情况
将播放数做对数处理,使得能直观看出歌单播放数的分布。
歌单播放数主要分布在 0-1000 万。
其中 ln(10000000) = 16。
(五)网易云音乐欧美歌单标签图

图 16 网易云音乐欧美歌单标签图
我们还找到了这些歌单的标签情况,既然是欧美歌单,【欧美】自然就占大头,几乎一半。我们还可以看到【电子】和【流行】这两大类也是非常多,【欧美流行】和【欧美电子】近两年在网易云用户中越来越火爆,特别是【欧美电子】,不少青年已经是电子音乐的忠实粉丝。
(六)歌单介绍词云图

图 17 歌单介绍词云图
歌单介绍词云图,这些词包括一个歌单的风格,背景还有故事。或许你曾经是因为哪一个词打动了你,让你收藏的这份歌单。与歌曲产生共鸣。
(七)音乐歌单运营分析
歌单有两种形式,一种是由官方创建的歌单,另一种是由用户自主创建的歌单,在网易云中,我们收藏倾听的大多来自个人用户。而歌单的运营不论是对个人还是官方都是有意义的。
很多用户是以歌单作为入口来了解音乐的,很少主动的的持续的去搜索音乐,所以歌单是否丰富,歌单的品质是否足够好,决定了用户使用的频率和时间。用户能够获取到越多越好的好歌单,就意味着这个音乐平台更有价值。
对于个人而言,创造令很多人满意的歌单,让个人获得关注,更高的成就感,进而创造更好的精品歌单。
所以我们基于以上的分析,做出了一个关于欧美歌单的运营分析:
在歌单内容方面,图15 网易云音乐欧美歌单标签图里,我们可以看出,流行类标签和电子标签占比大约 50%。以标签分类实行个性化推荐,可以让歌单更容易被找到,曝光,便于管理。
另外我们的歌单可以向这两个热门的方向靠拢,面向受众面广的人群,可以获得可观的流量。再加上电子音乐的兴起,越来越优秀的电子音乐出现,可以丰富我们的歌单。
在歌单标题方面,歌单相当于一篇文章,歌单的标题可以吸引听众的注意力,让他们进来了解歌单,收听歌单。在歌单播放量 TOP10 和歌单评论数量 TOP10 中,我们区分出以下几类:
在特殊标志式方面,在前十的几个歌单名称中我们可以看到“【】“,”|“等特殊字符,这些特殊字符可以吸引听众的目光,强调自己歌单的亮点。
在强吸引式方面,使用“精选“,”10w+“,”专属“等字眼,驱使听众点击。
在结论式方面使用,“热血燃向 | 提神醒脑防嗜睡型 BGM” 等字眼,驱使听众点击。
综上所述,一份歌单成功离不开标题、歌曲风格、乃至歌曲数。只有平衡好其中的因素,才能使其播放量达到预期。
(八)歌单数据可视化的商业价值
歌单数据可视化可以帮助音乐公司更好地理解消费者喜好,并为消费者提供更符合他们喜好的歌单。
此外,歌单数据可视化还可以帮助音乐公司更好地分析歌单中的信息,并利用这些信息来决定如何定价、营销和分销音乐。
因此,歌单数据可视化具有一定的商业价值,可以为音乐公司提供重要的市场信息。

相关文章:
基于Python数据可视化的网易云音乐歌单分析系统
目录 《Python数据分析初探》项目报告 基于Python数据可视化的网易云音乐歌单分析系统一、项目简介(一)项目背景(二)项目过程 二、项目设计流程图(一)基于Python数据可视化的网易云音乐歌单分析系统的整体…...
Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置
查看原文 文章目录 基于 CentOS7 系统部署 Jenkins 环境基于 Docker 安装部署 Jenkins环境配置 Jenkins 中文模式配置用户名密码形式的 Jenkins 凭据配置 ssh 私钥形式的 Jenkins 凭据配置 Jenkins 执行任务的节点 基于 CentOS7 系统部署 Jenkins 环境 (1ÿ…...
flume系列之:监控flume agent channel的填充百分比
flume系列之:监控flume agent channel的填充百分比 一、监控效果二、获取flume agent三、飞书告警四、获取每个flume agent channel的填充百分比一、监控效果 二、获取flume agent def getKafkaFlumeAgent():# 腾讯云10.130.112.60zk = KazooClient(hosts...
信息安全和网络安全的区别
信息安全与网络安全都属于安全领域,但它们的范围和重点不同。 信息安全主要关注数据的保护,包括对敏感数据进行加密、防止数据丢失或泄露等措施。信息安全通常与数据存储、传输和处理相关。 而网络安全更侧重于保护计算机系统和网络免受攻击、病毒、蠕…...
【开源项目】WPF 扩展 -- 多画面视频渲染组件
目录 1、项目介绍 2、组件集成 2.1 下载地址 2.2 添加依赖 3、使用示例 3.1 启动动画 3.2 视频渲染 3.3 效果展示 4、项目地址 1、项目介绍 Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发,当前是第一个发布版本 1.0.0&am…...
risc-v system instruction
ECALL ecall 指令以前叫做 scall,用于执行环境的变更,它会根据当前所处模式触发不同的执行环境切换异常, 用来执行需要更高权限才能执行的功能;简单来说,ecall 指令将权限提升到内核模式并将程序跳转到指定的地址。操作系统内核和应用程序其实…...
08 v-text指令
概述 v-text指令主要是用来渲染文本内容,和双大括号的效果基本一致,所以使用场景非常少。 一般情况下,我们都会使用双大括号语法去渲染文本内容,而不是使用v-text指令。 基本用法 我们创建src/components/Demo08.vueÿ…...
vite基本知识
vite的了解与使用 基本知识 开发时,并不对代码打包,而实直接采用ESM的方式运行项目一 项目部署时,再对项目进行打包 核心原理 其核心原理是利用浏览器现在已经支持ES6的import,碰见import就会发送一个HTTP请求去加载文件 使…...
考研真题c语言
【2016年山西大学考研真题】输入10个学生三门课的成绩,用函数实现:找出最高的分数所对应的学号和成绩。 1. 定义一个结构体 Student 来表示每个学生,包括学号和三门课的成绩。 c typedef struct { int studentID; int score1; i…...
neuq-acm预备队训练week 9 P8604 [蓝桥杯 2013 国 C] 危险系数
题目背景 抗日战争时期,冀中平原的地道战曾发挥重要作用。 题目限制 题目描述 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数 DF…...
【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)
物理机中的网络 查看物理网络的方法 “网络连接”—>单点选中网络的选项-->菜单栏中“查看此连接状态”-->“详细信息” “网络连接”中的VM网卡 在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别…...
Nginx location+Nginx rewrite(重写)(新版)
Nginx locationNginx rewrite(重写) Nginx locationNginx rewrite(重写)一、location1、常用的Nginx 正则表达式2、location的类型3、location 的匹配规则4、location 优先级5、location 示例说明5.1只修改网页路径5.2修改nginx配置文件和网页路径5.3一般前缀5.4正则匹配5.5前缀…...
uniapp实现地图电子围栏功能
该功能使用uniapp中内置组件map实现 效果图预览: 实现过程: 1.文档: 2.代码: <template><view><map :style"width: 100%; height:screenHeight" :latitude"latitude" :longitude"longit…...
LeetCode第376场周赛
文章目录 1.Find Missing and Repeated Values2.Divide Array Into Arrays With Max Difference3.Minimum Cost to Make Array Equalindromic 1.Find Missing and Repeated Values 直接暴力过 class Solution { public:vector<int> findMissingAndRepeatedValues(vecto…...
数据仓库与数据挖掘小结
更加详细的只找得到pdf版本 填空10分 判断并改错10分 计算8分 综合20分 客观题 填空10分 判断并改错10分--错的要改 mooc中的--尤其考试题 名词解释12分 4个,每个3分 经常碰到的专业术语 简答题40分 5个,每道8分 综合 画roc曲线 …...
ensp创建配置环境,实现全网互访
文章目录 创建配置环境,实现全网互访配置步骤接入层交换机(sw4、sw5)划分vlan汇聚层交换机(sw2、sw3)配置ip地址作为vlan网关、与sw1 ip地址直连核心层交换机(sw1)配置ip地址与汇聚层交换机&…...
智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.JAYA算法4.实验参数设定5.算法结果6.参考文献7.MA…...
ripro后台登录后转圈和图标不显示的原因及解决方法
最近,好多小伙伴使用ripro主题的小伙伴们都发现,登录后台后,进入主题设置就转圈,等待老半天后好不容易显示页面了,却发现图标不显示了,都统一显示为方框。 这是因为后台的js、css这类静态资源托管用的是js…...
android 源码编译android 12
一、python安装 python2 sudo apt-get install python python3 sudo apt-get install python3 二、repo管理多个git repo因为Android源码由多个git组成,故安装repo利于管理git工程. repo安装步骤 a.第一步, 新建一个空白文件夹保存repo引导文件,并包含你的路径…...
CSS第二天导读
1,Emmet语法 Emmet语法的前身是Zen coding,它使用缩写,来提高html / css 的编写速度,Vscode内部已经集成该语法 1.1,快速生成HTML结构语法 1.想要快速生成多个相同标签,加上*就可以了,比如 d…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
