基于python的某音乐网站热门歌曲的采集与分析,包括聚类和Lda主题分析

一项目背景

在当前竞争激烈的市场环境下,分析酷狗音乐上的热门歌曲及其用户行为趋势,对平台运营、歌曲推荐和音乐创作具有重要意义。尤其是通过对酷狗音乐平台热门歌曲的数据采集与分析,可以深入理解用户偏好、歌曲流行的规律以及市场需求的变化。借助Python编程语言,研究人员可以方便地获取平台上的热门歌曲数据,进行数据爬取和分析。Python拥有强大的数据处理和分析能力,结合Requests等库,能够采集酷狗音乐上的相关数据,如歌曲的播放量、评论数、收藏量、歌单标签等关键信息。

通过对这些数据进行深入分析,不仅可以揭示哪些因素决定歌曲的流行度,还能从中提取用户的音乐偏好和消费趋势。这些洞察可以为音乐平台优化推荐算法、提升用户体验提供强有力的数据支持。此外,利用Python的可视化技术,将复杂的音乐数据转化为直观的图表,为平台的运营决策提供参考。由此,对酷狗音乐热门歌曲的采集与分析,不仅具有学术研究价值,还能为音乐产业优化资源配置和挖掘市场需求提供重要支持。

二、计划

(一)网络爬虫技术

基于Python的酷狗音乐热门歌曲数据采集与分析依赖于网络爬虫技术,通过模拟用户行为自动获取网站上的数据。网络爬虫(也称"蜘蛛")通过发送请求获取目标网页的HTML源代码并解析其中的内容。

(二)可视化技术

在酷狗音乐数据采集与分析项目中,数据可视化是展示分析结果的重要环节。借助Python的可视化工具,复杂的音乐数据可以通过直观的图形呈现,帮助用户快速理解数据规律。

(三)聚类分析技术

聚类分析是一种无监督学习算法,用于将数据集中的对象划分为相似的组或簇。在酷狗音乐数据采集与分析项目中,本文使用聚类分析算法对热门歌单收藏转发评论进行分类。

四、技术路线

数据采集与清洗

首先在酷狗网站爬取音乐相关数据,其次对爬取下来的数据进行预处理,即除去残缺、冗余的数据,最后将数据可视化,如图1为数据处理流程。

图1 数据采集与清洗

(一)数据采集实现

数据采集的实现从酷狗音乐的歌单页面中采集数据,并将其保存到CSV文件的过程,本次采集共采集1500条数据。整个数据采集过程分为两个主要部分:第一部分是获取歌单的基本信息,第二部分是获取每个歌单的详细信息。

数据处理:在采集过程中,代码对一些特殊字符进行处理,例如替换逗号、斜杠等字符,以确保数据在CSV文件中正确存储。此外,采集过程中设置了time.sleep(2),防止频繁请求导致被网站封禁。数据采集流程图如下图2:

图 2数据采集流程

(二)数据清洗实现

数据清洗包括了多个关键步骤,如删除无关列、去除缺失值、数据类型转换、对数变换、数据排序、文本处理等。这些操作确保了数据的质量,使其适合后续分析。效果如图3所示:

图 3对数变换结果

将数据转换为合适的数据类型:将 df[4] 列中的值强制转换为整数类型。原始数据可能以字符串形式存储,或者存在不一致的格式,需要将其转换为适合分析的类型。

数据排序:数据排序是清洗过程中常见的步骤。通过对数据进行排序,可以帮助我们筛选出最有价值的数据(如收藏数最多的歌单或用户)。在此代码中,按 collection 列的值对数据进行排序,选择前 10 个最受欢迎的项。

图4 排序结果

提取并分析标签数据:这一步提取了数据中的标签信息(df[1] 列),并统计了每个标签的出现频率。标签信息在推荐系统、分析兴趣等任务中非常有用。效果如图5所示:

图5 提取标签结果

文本处理与去除停用词:文本数据通常包含大量的停用词(如"的","了","和"等),这些词对分析没有实际意义,因此需要去除。此代码实现了读取停用词文件,并对每条评论进行分词和去除停用词的操作。分词后,通过统计每个词的出现频率,进一步清洗和提取文本数据中的有用信息。如下图:

图 6分词结果

六、数据分析与可视化

本项目的目的是通过对酷狗音乐平台的歌单进行分析,揭示最受欢迎的歌单和评论趋势。通过使用 Python 的 pandas 进行数据清洗、对数变换,并使用 matplotlib 进行多种类型的可视化展示,成功地分析了歌单的收藏、播放和评论数分布情况。还利用词云图和矩形树图等展示了评论内容的关键词分布和标签分布,从而帮助用户深入了解平台上的内容特征。通过使用聚类算法,发现歌单互动数据之间的潜在关联和特征,为创造者提供更加准确和详细的歌单互动分类信息。

(一)华语热门歌单收藏数分布

展示华语歌单的收藏数分布情况。

运行结果,如图8所示:

图 8 华语歌单收藏数分布

从华语歌单收藏数分布来看,大多数收藏数集中在较低的区间,尤其是在(10, 11]和(12, 13]之间,说明这两个收藏数范围的歌曲受欢迎程度较高。随着收藏数的增高,收藏的数量逐渐减少,尤其在15.354以上的区间,收藏数显著减少,且高收藏数的区间逐步趋于零。这表明,绝大多数华语歌单的收藏数相对较少,而收藏数较高的歌单相对稀少,反映出大部分用户偏好较热门的歌曲或歌单,而较为冷门的歌单收藏较少。

(二)华语歌单收藏 TOP10

展示收藏数最多的前 10 个歌单。

运行结果如图10所示:

图 10 运行结果

从华语歌单收藏TOP10的结果来看,"华语私人订制"以1750096000的收藏数遥遥领先,显示出其个性化推荐的强大吸引力。紧随其后的是"华语速爆新歌"和"经典老歌,久听不厌",分别拥有1084934272和254901312的收藏数。这些歌单的高收藏量表明用户偏好于经典、流行且富有情感共鸣的歌曲,而"KTV必点"和"那些年甜甜的歌"等歌单也证明了人们对情感和怀旧歌曲的强烈兴趣。总体来看,流行与经典歌单更受欢迎。

(三)华语歌单评论 TOP10

展示评论数最多的前 10 个歌单。

运行结果如下图12:

图12 运行结果

这些华语歌单的评论排名反映了不同情感和音乐风格的流行趋势。前十名歌曲涉及多种主题,包括怀旧、恋爱、遗憾与甜蜜,每一首歌都能引发听者的情感共鸣。比如,"经典老歌,久听不厌"反映了人们对经典的持续热爱,而"你放弃过一个爱了很久的人吗?"则触动了许多人内心深处的情感。综合来看,这些歌单既展现了对过往回忆的怀念,也表达了现代人对爱情与人生的深刻思考。

(四)华语歌单播放 TOP10

展示播放数最多的前 10 个歌单。播放数进行类似的对数变换,之后排序并展示前 10 个最受欢迎的歌单。

运行结果如图14:

图 14 运行结果

华语歌单播放的TOP10反映了听众对不同音乐风格的多样化需求。首先,"emo天花板歌曲系列"与"熬夜单身狗的情歌说唱日推"表现出对情感宣泄与自我表达的需求,尤其是对于孤独和失落情绪的共鸣。类似"十年最强华语金曲榜"则彰显了经典华语歌曲的持久魅力,带给人们深刻的情感共鸣。此外,"华语民谣"和"华语R&B"等歌单则展现了对叙事性与旋律感的偏爱,突出深情的歌词与悠扬的旋律。整体而言,这些歌单多样的风格和情感内容,充分满足了人们不同情绪和心境的需求。

(五)华语歌单评论关键词

展示评论中出现的关键词。使用 jieba 分词库对评论进行分词,并去除停用词。通过 WordCloud 类生成词云图,展示评论中高频词汇。使用自定义的背景图像进行词云展示,增强图形的视觉效果。

运行结果:

图 16结果

华语歌单评论关键词的词频分析反映了听众对音乐和情感的高度关注。关键词如"介绍"、"音乐"和"歌单"表明用户对于歌单的内容和分类有着强烈兴趣。情感类词汇如"喜欢"、"温柔"、"爱情"和"孤独"则显示出听众在音乐中寻求情感共鸣。此外,"经典"、"怀念"和"岁月"等词汇的频繁出现,也突显了人们对过去和时光流逝的感怀。总体来看,用户不仅关注音乐本身,还深受其情感深度和回忆的触动。

(六)华语歌单标签分布

展示不同标签(如"情歌","经典","摇滚"等)的分布情况。使用 squarify 库绘制标签的矩形树图,展示各标签的出现次数。设置不同的颜色来区分不同的标签,提高可视化的美观性。

运行结果:

图 18结果

华语歌单的标签分布结果显示出用户对多元化音乐风格的喜好。"华语"标签频次最高,表明华语音乐的广泛受欢迎。其次,"古风"和"民谣"紧随其后,反映了听众对传统与现代融合、富有故事性的音乐风格的热爱。"滚石唱片"与"华语流行"标签则指向经典唱片与主流流行文化的深厚影响力。而"华语R&B"、"治愈系"和"伤感说唱"等标签则突出听众对情感深度和疗愈效果的需求。总体而言,华语歌单展现了情感丰富、风格多样的音乐趋势。

(七)华语歌单互动数据聚类分析

做聚类分析首先需要确定聚类数。轮廓系数法用于确定聚类分析中的合适簇数。在本项目中,通过计算不同簇数下的轮廓系数,来评估聚类结果的质量。

运行结果:

图 19结果

如图19所示,最优聚类簇为3。此外还可以通过手肘法进行佐证。手肘法(Elbow Method)是一种常用的方法,用于帮助确定最佳的聚类数量(K 值)。实现步骤:

1、计算簇内离差平方和(SSE):首先,对不同的聚类数量(K 值)进行循环计算,每个 K 值对应的 SSE 表示所有数据点到其所属簇中心的距离平方和。

2、绘制折线图:将 K 值与对应的 SSE 组成折线图,通常随着 K 值的增加,SSE 会逐渐减小。

3、找出"拐点":手肘法的关键在于找到折线图中的"手肘点",即随着 K 值增加,SSE 下降速度明显变缓的位置。

手肘法通过观察 SSE 随 K 值变化的趋势,帮助确定最合适的聚类数量。手肘点通常对应于最佳的 K 值,可以避免过度聚类或欠聚类的情况。手肘法有助于理解数据的内在结构和聚类情况,提供了一种直观的方式来评估数据的聚类效果。

通过手肘法,能够更好地理解数据的聚类情况,选择最佳的聚类数量,优化聚类分析的结果,为进一步的数据解读和决策提供支持和指导。如下图手肘法可知,最佳聚类数为3。

图 20结果

根据选定的簇数,使用K-means算法进行聚类分析。在经过标准化处理后的数据上进行聚类,得到每个样本所属的簇标签

数据降维和可视化展示:为了更好地展示聚类结果,将数据降维至二维空间,并利用t-SNE算法进行降维。然后,使用plot_kmeans_clustering函数绘制降维后的数据散点图,并根据聚类结果进行着色,对歌单互动数据进行聚类分析,可以发现不同样本之间的相似性和差异性,从而对歌单进行分类进行分析等,为歌单推广、创作等提供决策支持。如图所示

图 22结果

图 23结果

根据聚类分析的结果,将这些标签和分类划分为几个不同的群体。

第一类:"国语珍藏"、"华语Top热歌"、"华语伤感男声"等标签显示了对经典和情感化华语歌曲的喜爱,这些标签聚焦于过往的华语音乐经典、伤感情歌以及流行的主流热歌,反映了受众对情感共鸣和怀旧元素的需求。

第二类:"华语私人订制"、"华语速爆新歌"**等标签则倾向于推崇个性化推荐和最新的音乐流行趋势,体现出对新兴和定制化内容的偏好,尤其是在现代快节奏的生活方式中,个性化推荐和快速接触最新音乐成为了许多听众的选择。

第三类:"华语摇滚"和"中文R&B"等标签反映了听众对于特定音乐风格和文化的关注。摇滚和R&B代表了更具反叛精神和独立表达的音乐形式,这些群体的受众通常具有更强的个性化需求和文化认同感。

音乐内容的聚类分析反映出听众的多元化需求:既有对经典情感的怀旧,也有对新兴潮流和个性化推荐的追求。

(八)华语歌单主题分析

LDA主题分析的实现过程如下:使用gensim库构建语料库和词袋模型,将文本数据转换为可用于LDA模型的格式。设置LDA模型的参数,包括主题数量、迭代次数、词频阈值等。通过LDA主题分析,可以发现歌单简介数据中的主题结构和主要内容。主题分析可以帮助我们了解歌单简介数据的内在关联性和分布情况,从而更好地理解歌单简介数据的内容和意义。此外,LDA主题分析还可以用于文本分类、信息检索和推荐系统等领域,提供有关文本数据的深入洞察和应用价值。

结果如下:由一致性和困惑度分析曲线图可知,最优主题数10效果最好。

图 25 一致性和困惑度分析曲线图

图 26 LDA主题分析分布图

根据主题分析结果,可以看到音乐相关的关键词在各个主题中都有较高的出现频率,特别是"音乐"、"歌曲"和"歌单"。这些关键词反映了用户对音乐的关注,尤其是对特定歌曲、歌手、歌单的喜好和推荐,显示了音乐内容在用户生活中的重要地位。此外,像"喜欢"、"温柔"、"浪漫"等情感类关键词的高频出现,进一步表明用户在音乐选择上常常受到情感和心境的驱动,倾向于选择具有治愈、温馨、浪漫氛围的歌曲。

另一方面,"人生"、"成长"、"希望"、"岁月"等词汇则展示了用户对音乐与个人成长、情感历程的深刻联系,表现出通过音乐回顾过去、展望未来的情感需求。"华语"和"中文"这些词的出现频率较高,表明用户更偏爱本土的音乐作品,尤其是在华语音乐的推荐中,可能更倾向于寻找具有本地特色的歌单和歌曲。

用户对音乐的兴趣不仅局限于欣赏旋律和歌词,更融入了情感、回忆以及对生活的独特理解,体现了音乐作为情感和人生经历的载体的多元化功能。

(九)华语歌单网络语义分析

网络语义分析通过构建词语之间的关系图来揭示文本中的语义关联。使用 CountVectorizer 对文本数据进行分词和词频统计,得到一个词频矩阵。然后,通过 TruncatedSVD(即潜在语义分析,LSA)降维,将高维的词频矩阵转化为低维表示,捕捉文本中的潜在语义结构。接着,利用 Normalizer 标准化数据,以便提高模型的稳定性和效率。这种网络语义分析方法有助于从大量文本数据中提炼出关键词及其内在联系。

结果如下:

图 28 网络语义分析图

从网络语义分析的结果来看,关键词主要围绕音乐、情感和生活等多个层面。音乐是最为突出的主题,涉及到歌曲、歌单、歌手、旋律等元素,表明用户对于音乐的关注和喜好。这其中,民谣、摇滚、说唱、经典等特定风格也有所提及,表现出人们对不同类型音乐的多样需求。许多关键词反映了情感和心境,像是孤独、温暖、怀念、情感、爱情等,展现了人们通过音乐表达或调节内心情绪的倾向。生活、时光、岁月等词语则提醒我们,音乐不仅是消遣工具,也是连接个人生活、回忆和成长的重要载体。推荐、分享、收藏等关键词指向了人们在社交平台上分享和传播自己喜爱的音乐的行为,强调了音乐在社交和情感交流中的重要性。总体而言,分析结果体现了用户对音乐的深切喜爱及其在个人情感和生活中的作用。

七、结论与建议

  1. 用户情感需求主导音乐偏好 根据对标签和关键词的频率分析,用户在选择音乐时显然更关注情感共鸣和心理满足。情感类标签(如"温柔"、"爱情"、"孤独"、"治愈系"等)高频出现,表明用户倾向于选择能够激发情感反应、提供心灵慰藉的歌曲。因此,针对酷狗音乐平台的歌曲推荐系统,应考虑加强情感细分分类,让用户能够根据自己的情绪需求精准选择歌曲。

  2. 华语音乐持续占主导地位 标签"华语"相关内容的频率最高,表明华语歌曲在酷狗音乐用户中仍然占据着主导地位。这也说明,平台应继续加强华语音乐的推荐和展示,尤其是经典华语音乐和当代华语流行音乐的结合。例如,可以推荐包含经典元素的现代作品,或者通过个性化推荐,推送符合用户口味的华语音乐合集。 建议:加强对华语经典与当代流行音乐的融合推荐。在"华语流行"类别中细化子分类,推荐更多符合用户兴趣的热门歌手和新歌。

  3. 情感深度与风格多样性需求强烈 标签"治愈系"和"伤感说唱"等的出现频率相对较高,反映出部分用户对情感深度的需求,尤其是那些关注自我治愈与情感释放的听众。此外,传统音乐风格(如"古风"、"民谣")也在高频标签中占据一席之地,表明现代人对传统文化的认同与向往仍然强烈。 建议:增加"治愈系"音乐以及"伤感说唱"的分类推荐,帮助用户在情绪低谷时找到心灵慰藉。为喜爱"古风"与"民谣"的用户提供更多相关歌曲及歌单,丰富该类别的内容。

  4. 用户对经典与多元化的音乐形式需求并存

标签"华语经典"与"滚石唱片"的出现,意味着经典音乐仍然深受听众喜爱,这反映出用户在享受新歌的同时,也有对过去音乐文化的怀念。与此同时,"华语R&B"和"伤感说唱"这样的标签显示出对现代、前卫音乐风格的兴趣。因此,酷狗音乐平台应当在经典和现代风格之间找到平衡,提供更多跨越时代的音乐推荐。

建议:在平台的首页、歌单和推荐列表中加入经典与现代音乐的结合,比如推出经典R&B歌单、经典摇滚歌单等。设计跨时代的音乐活动和专题,邀请用户分享他们的"经典"音乐记忆,并结合新的音乐趋势进行互动。。

相关推荐
MC何失眠1 小时前
vulnhub靶场【哈利波特】三部曲之Fawkes
网络·python·学习·网络安全
被制作时长两年半的个人练习生2 小时前
【pytorch】pytorch的缓存策略——计算机分层理论的另一大例证
人工智能·pytorch·python
卖个几把萌2 小时前
【06】Selenium+Python 定位动态ID
python·selenium·测试工具
天冬忘忧2 小时前
Flink四大基石之CheckPoint(检查点) 的使用详解
大数据·python·flink
Dwlufvex2 小时前
python selenium(4+)+chromedriver最新版 定位爬取嵌套shadow-root(open)中内容
python·selenium
黑金IT3 小时前
使用Python和OpenCV自动检测并去除图像中的字幕
开发语言·python·opencv
Sherry Wangs3 小时前
Conda-Pack打包:高效管理Python环境
开发语言·python·conda
weixin_543662863 小时前
BERT的中文问答系统48
人工智能·python·bert
测试杂货铺4 小时前
如何进行Appium实现移动端UI自动化测试呢?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
凤枭香4 小时前
AI数据分析工具(一)
人工智能·信息可视化·数据分析·ai工具