基于Python数据可视化的网易云音乐歌单分析系统

目录

基于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 第三方模块,最后以柱状图,词云图 以及标签图来展示歌曲收藏量,播放量等相关分析结果并结合相关数据优化歌单播放量。
最后我们实现了项目,并对项目进行了测试。
图 1 歌单索引网页调试分析

图 2 歌单详情网页调试分析

二、项目设计流程图

(一)基于Python数据可视化的网易云音乐歌单分析系统的整体架构

图 3 基于 Python 数据可视化的网易云音乐歌单分析系统的整体架构图

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

图 4 获取歌单索引页的信息的流程图

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

在这里插入图片描述

(四)歌曲出现次数 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爬虫实战,matplotlib模块,Python实现网易云音乐歌单数据可视化的教程。 1. 网易云音乐歌单数据爬取 首先,我们需要使用Python爬虫来获取网易云音乐歌单数据。我们可以使用 requests 库来向网站发送请求,然后使用 BeautifulSoup 库来解析页面中的 HTML 代码。 以下是一个简单的 Python 爬虫脚本,可以用来获取指定歌单的歌曲信息: ```python import requests from bs4 import BeautifulSoup url = 'https://music.163.com/playlist?id=21566666' # 歌单的链接 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') tracks = soup.select('ul.f-hide li a') for track in tracks: print(track.text) ``` 这个脚本将会输出指定歌单中的所有歌曲名称。 2. 数据可视化 接下来,我们需要使用 matplotlib 库来对获取到的数据进行可视化。 我们可以使用 matplotlib 的 bar() 函数来创建柱状图。首先,我们需要创建两个列表,一个列表存储歌曲名称,另一个列表存储歌曲播放次数。然后,我们可以使用 bar() 函数来创建柱状图。 以下是一个简单的 Python 脚本,可以用来实现这个功能: ```python import requests from bs4 import BeautifulSoup import matplotlib.pyplot as plt url = 'https://music.163.com/playlist?id=21566666' # 歌单的链接 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') tracks = soup.select('ul.f-hide li a') song_names = [] play_counts = [] for track in tracks: song_names.append(track.text) data_url = 'https://music.163.com/api/song/detail/?ids=[{}]'.format(track['href'].split('=')[-1]) response = requests.get(data_url, headers=headers) data = response.json() play_counts.append(data['songs'][0]['popularity']) plt.bar(song_names, play_counts) plt.xticks(rotation=90) plt.show() ``` 这个脚本将会输出一个柱状图,横轴表示歌曲名称,纵轴表示歌曲播放次数。 3. 结论 通过这个简单的例子,我们可以看出,Python 爬虫数据可视化是非常有用的工具,它们可以帮助我们获取数据并对数据进行分析可视化。如果你对这些工具感兴趣,可以自己尝试使用它们来实现更多的功能。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值