基于python的九酷音乐网站数据采集与分析_第1页
基于python的九酷音乐网站数据采集与分析_第2页
基于python的九酷音乐网站数据采集与分析_第3页
基于python的九酷音乐网站数据采集与分析_第4页
基于python的九酷音乐网站数据采集与分析_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1引言............................................................................................................................1

1.1项目背景......................................................................................................2

1.2开发环境与工具..........................................................................................2

1.2.1Python简介..........................................................................................2

1.2.2Pycharm简介........................................................................................3

1.2.3JupyterNotebook简介......................................................................3

2需求分析....................................................................................................................4

2.1可行性需求分析..........................................................................................4

2.2采集目标功能分析......................................................................................5

2.3关键技术分析..............................................................................................6

2.3.1网络爬虫技术.......................................................................................6

2.3.2文件存取技术.......................................................................................7

2.3.3可视化技术...........................................................................................8

3数据采集....................................................................................................................9

3.1采集页面分析..............................................................................................9

3.2字段分析....................................................................................................11

3.3编程实现....................................................................................................12

4数据清洗与处理......................................................................................................14

4.1数据清洗....................................................................................................15

4.2数据储存....................................................................................................18

4.3编程实现....................................................................................................19

5数据统计与分析......................................................................................................20

5.1数据准备....................................................................................................20

5.2数据展示....................................................................................................21

5.2.1依据歌手进行统计.............................................................................22

5.2.2依据评分分布进行统计.....................................................................22

5.2.3根据歌手上榜的歌曲量统计和分析.................................................24

I

湖南商务职业技术学院毕业设计

5.3综述............................................................................................................25

6小结..........................................................................................................................25

参考资料.........................................................................................................................26

II

湖南商务职业技术学院毕业设计

基于Python的九酷音乐网站数据采集与分析

1引言

近年来,音乐排行榜已成为了人们获取音乐信息的主要途径之一,越来越

多的人关注和使用这些数据。而从大数据的角度来看,音乐排行榜数据也是一

种重要的数据资源。下面从以下几个方面,探讨音乐排行榜数据与大数据的联

系。

首先,音乐排行榜数据包含了海量的音乐信息,这些信息具有很大的数据

量。对于大数据的相关研究与应用,需要具有大规模、高维度和复杂变量的数

据资源。而音乐排行榜数据恰好符合这个特点,可以被看作是一种典型的大数

据样本。

其次,音乐排行榜数据为大数据的建模与分析提供了有价值的数据少量。

在音乐行业中,有着大量的数据处理需求,音乐销售、用户分析、用户喜好等

各种业务都需要基于大数据的分析来实现。而音乐排行榜数据恰好涵盖了音乐

销售、用户喜好等各种相关信息,可以为这些分析提供数据基础。

此外,音乐排行榜数据也为大数据的机器学习和深度学习提供了可靠的数

据基础。在当今人工智能与大数据日益紧密联系的背景下,机器学习和深度学

习技术被广泛应用于音乐情感识别、音乐分类等领域。而音乐排行榜数据包含

了大量的音乐样本,可以为这些技术提供可靠的数据基础,支撑模型的训练和

应用。

最后,大数据技术也可以为音乐排行榜数据的分析和应用提供帮助。大数

据技术在数据存储、处理与分析方面,具有突出的优势。音乐排行榜数据经过

大数据技术的处理和分析,可以获得更多的有价值信息。例如,可以基于音乐

排行榜数据,搭建推荐系统,提供精准的歌曲推荐服务,或者基于用户喜好数

据,进行用户画像,实现更有针对性的音乐推送等等。

综上所述,音乐排行榜数据与大数据有着广泛的联系与应用。它为大数据

领域提供了可靠的数据资源,同时大数据技术也可以为音乐排行榜数据的分析

与应用提供帮助。这种联系与合作关系必将推动音乐产业与大数据领域的发展,

创造出更多的商业与社会价值。

1

湖南商务职业技术学院毕业设计

1.1项目背景

随着互联网和数字化技术的不断发展,音乐排行榜已成为一个热门的网站

类型,它能够向用户展示最受欢迎的音乐作品和艺术家,从而帮助用户了解当

前流行音乐的发展趋势。对于音乐爱好者而言,他们可以通过音乐排行榜快速

地发现最新、最热门的音乐作品,并与其他音乐爱好者交流分享相同的音乐喜

好和经验。

而在当今数字化时代,数据分析已经成为各行各业的重要分析工具。音乐

排行榜数据也不例外,它能够帮助从事音乐、媒体、广告和营销等领域的专业

人士深入了解音乐市场的趋势和规律,进而进行市场推广和销售策略的制定,

提高商业收益和竞争力。

因此,本次毕业设计的主要目的是基于Python语言针对九酷音乐排行榜网

站的数据采集与分析,使用爬虫技术获取音乐排行榜的排名、歌名、歌手名、

评分以及好评率这些数据,爬取后对数据进行清洗、存储、可视化和数据分析,

从而帮助大家更好地了解当前音乐市场的热点和趋势,同时提高他们对音乐收

听习惯和品味的审美水平。

1.2开发环境与工具

1.2.1Python简介

Python是一种简单而优雅的编程语言,具有易读易写、表达力强等特点。

它同时也是一种解释型语言,因此不需要编译就可以运行。Python的库和框架

非常丰富,适用于Web开发、数据科学、机器学习等众多领域。Python因其便

利性和广泛应用而成为音乐排行榜网站数据采集和分析的常用工具。

对于音乐排行榜网站数据采集,Python有许多库和工具可供使用。最常用

的是Requests库,该库可用于从网页中获取HTML代码,并将其解析为可操作

的Python对象。此外,etree和re等库还能够有效地实现网站数据抓取和处理。

Python还拥有一些易于使用的数据分析库,例如Pandas和NumPy。这些库

可以帮助将大量数据转换为易于处理的格式,方便数据分析和可视化。

Matplotlib和Pyecharts等可视化库还能够将数据呈现出来,更直观地展示数

据分析结果。

在使用Python进行音乐排行榜网站数据采集和分析时,需要了解一些基本

的Python知识和相关的库和工具。Python的易学易用特性使其成为一种理想的

2

湖南商务职业技术学院毕业设计

语言,可以通过在线教程和Python社区来快速入门和提高编程水平。

以下是本次毕设相关的Python第三方库介绍:

Requests:简洁易用,用于HTTP协议访问和网络爬虫。

Re:提供了多种字符串匹配方法,用于正则表达式解析和处理。

Csv:内置的模块,能够读写csv和txt格式数据。

NumPy:能高效处理数据类型相同的多维数组,优于Python自带的数据结

构。

Pandas:基于NumPy的高层次应用库,提供易用的数据结构和分析工具。

Matplotlib:用于二维绘图的库,包括折线图、条形图、扇形图、散点图

和直方图等。

1.2.2Pycharm简介

Pycharm是一款非常流行的Python集成开发环境(IDE),可以帮助开发者

更轻松、高效地编写Python代码。它具有许多实用的工具和功能,例如自动完

成、语法高亮、代码搜索、代码重构等等,这些都可极大地提高编程效率。

与Pycharm联系到爬取九酷音乐排行榜数据,可以考虑使用Python的爬虫

库Xpath和正则表达式进行网页数据抓取,并将抓取到的音乐排行榜数据存储

到txt文件中。

在Pycharm中,可以安装爬虫相关的Python库,然后创建一个新的Python

项目,编写相应的代码,就可以实现爬取九酷音乐排行榜数据的功能了,然后

通过Python再带的文件存储方式将获取到的数据存到txt文件中。

最后,再通过安装可视化技术的相关Python库,编写相应的代码,就可以

实现将爬取九酷音乐排行榜数据进行图表展示。

1.2.3JupyterNotebook简介

爬取九酷音乐排行榜数据与JupterNotebook密切相关。JupterNotebook

是一种工具,可以在其中编写和运行Python代码,并可创建和共享文档,其中

可以包括代码、图表、文本和多媒体元素。

JupyterNotebook是一款非常流行的开源交互式笔记本程序,它能够让用

户以一种更加直观、易于理解的方式编写Python代码,进行数据分析和可视化

操作,因此在数据清洗上也非常实用。获取音乐排行榜数据后的数据清洗也是

需要用到Python代码。

首先,需要将九酷音乐排行榜数据导入到JupyterNotebook中。这个过程

3

湖南商务职业技术学院毕业设计

可以使用Python中的Pandas库来实现,Pandas库提供了一些工具,可以方便

地读取和处理各种格式的数据,例如CSV、Excel、HTML等。在JupyterNotebook

中,可以把它们导入为数据帧,然后进行清洗。例如,可以读取一个txt文件

格式的音乐排行榜数据,并将它转换为Pandas中的数据帧,核心代码如下。

importpandasaspd

df=pd.read_csv(r'D:\Desktop\9酷音乐毕业设计

\t_new_ranking.txt',sep='\t',engine='python',encoding='utf_8_sig')

接下来,可以查看一下这个数据帧的前几行,以便了解数据的结构。这时

候就可以对这个数据进行清洗,删除重复值、异常值、缺失值等。例如,有些

行可能会出现空值,可以使用Pandas的dropna()方法直接删除这些行。

接下来对于数据进行更加细致的清洗和整理,例如,可以将某些数据转换

成指定的数据类型,或者将某些字段进行分割和合并。例如,如果的数据中含

有歌曲的完整名称和歌手的名称,可以使用Pandas中的split()方法对这些字

段进行分割。

最后,在完成清洗之后,可以将清洗后的数据保存为txt格式或者其他格

式,以便后续分析和可视化。

综上所述,JupyterNotebook可以很好地与数据清洗进行联系。Jupyter

Notebook提供了一种交互式的、可重复的数据分析环境。使用Python的数据处

理库(例如Pandas)可以轻松地清洗、整理和转换数据,使数据变得更加容易

理解和可视化。因此,JupyterNotebook和数据清洗之间具有密切的联系,可

以通过编写Python代码来自动化处理数据。

2需求分析

2.1可行性需求分析

(1).目标需求分析

首先,需要明确在爬取音乐排行榜数据的过程中要实现的目标。这可能包

括要从哪些网站获取数据,要获取哪些数据(比如歌曲名称、歌手、播放次数

等),以及如何将这些数据清洗、整理和保存等。

(2).技术可行性分析

4

湖南商务职业技术学院毕业设计

为了成功地实现爬取音乐排行榜数据的目标,需要确保所选用的技术和工

具都是可行的。这可能包括使用Web爬虫技术,如爬虫框架BeautifulSoup

等,以及了解如何在Python中使用pandas、numpy和matplotlib等数据处理

和可视化工具。

(3).数据获取可行性分析

爬取音乐排行榜数据的可行性还取决于数据的可访问性和可获取性。可能

需要对数据源进行调查,以确定是否有很多网站提供相同或类似的数据,或者

网站是否允许对其进行自动化访问。需求分析的结果应该反映出能够获取的数

据量以及数据的品质等。

(4).法律和道德可行性分析

在爬取音乐排行榜数据的项目中,还需要考虑法律和道德可行性。爬取数

据可能与网站的服务条款、数据保护法、版权法等有冲突,并且可能引起广泛

的道德和隐私问题。因此,在开始这个毕业设计之前,首要任务之一是确保符

合法律和道德准则,并尊重数据隐私。

2.2采集目标功能分析

本毕业设计的数据集来源于九酷排行榜网站,九酷排行榜上所有歌曲的信

息都是通过Python抓取的。选定的音乐排行榜是2023年歌曲周排行榜和2023

年歌曲月排行榜。获得的目标数据是排名、歌曲名称、歌手、收听率和支持率。

对获得的数据执行重复数据消除、过滤无效信息和格式转换等操作,以生成标

准化的数据表。

经过数据清理,总共有670条记录。爬取后,尽量检查数据的准确性,确

保爬取数据准确无误,属于九酷音乐实时排名歌曲信息。将获取和处理的数据

保存到txt文件中,方便随时调用和使用,用于后续分析。收集到的数据以词

云图、柱状图和饼图的形式显示,方便用户查看和了解相应的音乐排行榜信息。

从多个维度分析数据后,将其可视化,然后对数据表提供详细的解释。通

过词云图分析九酷音乐周排行榜上每首歌歌手的字段,以得到本周音乐最火的

歌手;可以通过每首歌的评分分布饼图,分析网站上榜歌曲的评分分布;也可

以通过歌手的上榜歌曲数制作成柱状图来分析排行榜上的流行歌手的上榜歌曲

总数有多少。

5

湖南商务职业技术学院毕业设计

2.3关键技术分析

2.3.1网络爬虫技术

随着音乐的普及以及音乐平台的崛起,音乐排行榜越来越受到关注,对于

诸多音乐爱好者而言,排行榜是他们选择歌曲的重要参考。因此,当想要分析

流行歌曲的背后现象和趋势时,爬取音乐排行榜数据成为了一项重要的工作。

爬取音乐排行榜数据需要使用网络爬虫技术。网络爬虫是一种自动化获取

互联网信息的技术,它通过抓取网站上的信息,整理分析数据,为用户提供有

用的信息。爬取音乐排行榜数据是网络爬虫技术的一种典型应用。

获取音乐排行榜数据需要首先确定爬取的目标网站。一般来说,网易云音

乐、QQ音乐、酷狗音乐和九酷音乐等平台都提供了排行榜功能,这些网站的排

行榜页面包含了各类热门歌曲的信息。接着,需要通过代码模拟网页的访问过

程,发送请求获取网页内容。在获取网页内容后,需要利用网页解析技术进行

数据提取,常见的技术手段包括XPath和正则表达式。

正则表达式可以匹配不同的数据类型,如字符、字符串、数字等。它们具

有很强的灵活性,并且引擎的实现简洁高效。它可以快速处理大量数据,并预

定义为模板,将来可以直接调用,以实现代码重用。除了单字符匹配外,正则

表达式还可以用于处理字符集,例如匹配包含某些字符的字符串、匹配电子邮

件地址等等。对于在网页上播放的音乐文件,可以从网页代码中提取出其url

地址后,从歌单地址中获取更详细的歌单信息,示例代码如下。

defget_music_url(url):#获取歌单地址

data=requests.get(url,headers=headers).text#爬取歌单id

music_ids=re.findall(r'<inputtype="checkbox"value="(.*?)"name="Url"class="check">',

data)

music_urls=['/play/{}.htm'.format(i.strip('@'))foriinmusic_ids]

returnmusic_urls

以上代码为正则表达式获取歌单地址

在进行数据提取时,可以根据网页的HTML结构进行信息提取,比如利用

XPath提取出排行榜的名称、更新时间、榜单类型等信息,然后再进一步提取出

每首歌曲的基本信息,如歌曲名称、演唱者、专辑名称、曲目时长等。为了提

高效率,可以使用多线程技术进行并发操作,同时下载多个歌曲。示例代码如

下。

6

湖南商务职业技术学院毕业设计

defget_music_info():#获取歌单歌曲信息

foriinrange(len(music_urls)):

try:

data=requests.get(music_urls[i],headers=headers).text

#print(music_urls[i])

html=etree.HTML(data)

rank=str(i+1)#排名

name=html.xpath('//*[@id="mydiv1"]/div[2]/div[1]/div[1]/h1/text()')[0]#歌名

singer=html.xpath('//*[@id="mydiv1"]/div[2]/div[1]/div[1]/h2/a/text()')[0]#歌手

score=html.xpath('//*[@id="rankNum"]/em/text()')[0]#评分

audience_rate=html.xpath('//*[@id="dingcount"]/text()')[0]#好评率

music_infos.append([rank,name,singer,score,audience_rate])#存储数据

except:

print('歌单网址{}数据处理失败'.format(music_urls[i]))

此外,可以考虑使用技术手段绕过网站的反爬虫措施,如设置随机的请求

头、使用IP代理等。总之,爬取音乐排行榜数据能够为提供有价值的数据和信

息,使更好地了解音乐市场的趋势和流行程度。但是要注意在使用网络爬虫时,

要遵守法律法规及网站的相关规定,保护相关数据的安全和隐私。

2.3.2文件存取技术

在爬取音乐排行榜数据的过程中,通常会使用txt文件进行数据存储。这

是因为txt文件具有简单、通用、易读易写等特点,同时也方便后续的数据处

理和分析。以下是爬取音乐排行榜数据与txt文件存储技术的联系:

(1).数据格式化存储

在爬取音乐排行榜数据后,需要把数据保存到txt文件中。在保存之前,

需要对爬取到的数据进行格式化处理,保证数据格式的一致性和可读性。这样

的数据格式应该具有易读性、易写性、易分析性和易扩展性。

(2).简单易读的文本存储

txt文件是一个纯文本文件,所以使用txt文件进行存储,具有文件格式简

单易读、体积小的优点。这些优点使得txt文件适合用于存储中小型文本数据,

如音乐排行榜数据。

(3).大数据处理便捷

7

湖南商务职业技术学院毕业设计

大规模爬取的音乐排行榜数据量非常大,为了方便后续的分析处理,可以

采用将爬取到的数据分割成多个文件的方法,提高文件的读写速度,避免处理

大文件时出现性能问题。

(4).建立存储索引

保存音乐排行榜数据时,在txt文件中建立索引有利于数据的查找和访问。

通常可以在txt文件中设置一些分隔符或其他标志来区分不同的数据,在处理

数据时可以根据这些标志进行快速地检索和读取数据。

(5).系统兼容性良好

txt文件的系统兼容性非常好,不同的操作系统和软件都可以轻松地读取和

处理txt文件,无需担心数据的格式兼容性问题。

总之,爬取音乐排行榜数据与txt文件存储技术密切相关。通过合理地使

用txt文件进行数据存储,可以方便地存储、管理和分析爬取到的大量数据。

同时,为了保证数据的安全性和完整性,也需要选择合适的存储方法和技术,

对爬取到的数据进行规范化处理和备份。示例代码如下。

defput_txt(txt_name):#将获取到的数据添加到文件中

withopen(txt_name,'w+',encoding='utf-8')asf1:

foriinmusic_infos:

ifi[-1]=='0'ori[-2]=='0':

continue

forjini:

ifj==i[-1]:

f1.write(j+'\n')

else:

f1.write(j+'\t')

2.3.3可视化技术

爬取九酷音乐排行榜数据是为了更好地理解音乐市场和了解流行趋势,而

数据可视化是将数据进行图形化展示的过程,能够更直观地呈现数据,并对数

据进行更深入的分析和挖掘。因此,爬取音乐排行榜数据和数据可视化技术有

着密切联系。以下是两者之间的联系:

(1).数据来源

数据可视化需要有数据作为基础,而爬取九酷音乐排行榜数据就是提供这

8

湖南商务职业技术学院毕业设计

些基础数据的途径之一。通过对九酷音乐排行榜数据的爬取,可以获得大量的

歌曲信息,并进行统计和分析,从而进一步探究音乐市场的运行规律。

(2).数据处理

数据可视化需要对获取的歌曲排行榜数据进行规整和整理,从而使数据可

以被有效的绘制成各类图表和图形。同样地,在爬取九酷音乐排行榜数据的过

程中,需要对数据进行规范化和清洗,以便后续的可视化处理。

(3).可视化展示

数据可视化的最终目的是将数据呈现在图表和图形中,以便用户更好地理

解数据。爬取九酷音乐排行榜数据后,可以通过利用各种可视化工具来展示数

据,如词云图、柱状图、饼图等。

总之,数据可视化是对爬取的九酷音乐排行榜数据进行分析和展现的重要

应用场景之一。

3数据采集

3.1采集页面分析

首先,通过谷歌Chrome搜索九酷音乐2023歌曲周排行的官方网页,然后

找到音乐排行榜的首页,如图3-1。

图3-1数据网址页面图

然后往下滑动,发现网站没有分页,所以无需分页爬取歌单地址,如图

3-2。

9

湖南商务职业技术学院毕业设计

图3-2数据网址页面图

按F12调出开发者工具,刷新页面,使用全局搜索工具定位所需的数据位

置,单击开发人员工具上的Headers字段,分析此请求是什么,然后发现它是

一个GET请求,如图3-3。

图3-3开发者工具图

选择console,输入命令“alert(document.lastModified);”,按Enter

键并在弹出窗口中记录时间。多次刷新网页,使用相同的输入,比较弹出时间,

发现时间有所变化,所以为动态网页,如图3-4。

10

湖南商务职业技术学院毕业设计

图3-4网站弹出时间其一图

为了爬取动态网页数据,先选择点开几个歌曲,分析他们的网址源代码,

经对比分析后发现源网址只有标签中的元素<input>保存了歌单的网址ID值,

而且经爬取后不是空值,如图3-5,3-6。

图3-5歌单网址ID图

图3-6爬取歌单网址ID图

3.2字段分析

进入九酷音乐2023歌曲周排行榜二级歌单网页,即歌单地址,如图3-8。

11

湖南商务职业技术学院毕业设计

图3-7歌单地址图

打开网站开发者工具,然后刷新页面,选择页面元素标签的选择栏,将选

择栏定位到歌单信息的位置,如图3-8所示。

图3-8歌单信息图

3.3编程实现

在分析了网站上收集页面和页面字段的细节后,准备执行编程要求并完成

数据收集功能。爬取音乐排行榜数据的第一件事就是导入爬取网站所需要的库,

为爬取网站提供相应的库和方法,核心代码如下。

importrequests

fromlxmlimportetree

importre

12

湖南商务职业技术学院毕业设计

为了应对网站可能存在的反爬机制,需要设置请求头,模拟浏览器进行网

站访问,核心代码如下。

headers={

'User-Agent':'User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,

likeGecko)Chrome/63.0.3239.132Safari/537.36'

}

配置网络爬虫的相关环境后,开始对网站的数据进行编程实现,代码如下。

importrequests

fromlxmlimportetree

importre

headers={

'User-Agent':'User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,

likeGecko)Chrome/63.0.3239.132Safari/537.36'

}

lis=['t_w_hits','t_hits']#各排行榜网页url

paihangbang_urls=['/music/{}.htm'.format(i)foriinlis]

txt_names=['t_w_hits_ranking.txt','t_hits_ranking.txt']

defget_music_url(url):#获取歌单地址

data=requests.get(url,headers=headers).text#爬取歌单id

music_ids=re.findall(r'<inputtype="checkbox"value="(.*?)"name="Url"class="check">',

data)

music_urls=['/play/{}.htm'.format(i.strip('@'))foriinmusic_ids]

returnmusic_urls

defget_music_info():#获取歌单歌曲信息

foriinrange(len(music_urls)):

try:

data=requests.get(music_urls[i],headers=headers).text

html=etree.HTML(data)

rank=str(i+1)#排名

name=html.xpath('//*[@id="mydiv1"]/div[2]/div[1]/div[1]/h1/text()')[0]#歌名

singer=html.xpath('//*[@id="mydiv1"]/div[2]/div[1]/div[1]/h2/a/text()')[0]#歌

score=html.xpath('//*[@id="rankNum"]/em/text()')[0]#评分

audience_rate=html.xpath('//*[@id="dingcount"]/text()')[0]#好评率

music_infos.append([rank,name,singer,score,audience_rate])#存储数据

except:

print('该歌曲数据处理失败'))

defput_txt(txt_name):#将获取到的数据添加到文件中

withopen(txt_name,'w+',encoding='utf-8')asf1:

foriinmusic_infos:

13

湖南商务职业技术学院毕业设计

ifi[-1]=='0'ori[-2]=='0':

continue

forjini:

ifj==i[-1]:

f1.write(j+'\n')

else:

f1.write(j+'\t')

if__name__=='__main__':

foriinrange(len(paihangbang_urls)):

music_urls=get_music_url(paihangbang_urls[i])

music_infos=[['排名','歌名','歌手','评分','好评率']]

get_music_info()

put_txt(txt_names[i])

4数据清洗与处理

爬取音乐排行榜数据时,由于数据来源多样、数据格式复杂,爬取的数据

可能存在重复、不规范或异常值等问题,也可能存在缺少或不完整的信息。因

此,在进行数据分析和使用前,需要对音乐排行榜数据进行数据清洗和处理,

以确保数据质量和准确性,同时为数据分析和研究提供更可靠的依据。下面是

爬取音乐排行榜数据时的数据清洗和处理方法:

(1).数据去重

在爬取音乐排行榜数据时,常常会出现重复数据的问题,这会对后续的数

据分析和统计造成影响。为了去除重复的数据,可以通过去重的技术手段,比

如利用数据库的去重功能,在读取数据时去掉重复数据,或者使用Pandas等

Python数据分析库的drop_duplicates()函数来去掉重复的数据。同时,还应

该对可能存在的异常数据进行处理。

(2).数据格式化处理

不同的数据来源和解析方式会导致爬取的音乐排行榜数据格式不一,因此

需要进行统一的数据格式化处理。例如,统一歌手、歌曲、专辑等名称的词序、

拼写方式和分隔符,利用正则表达式匹配和替换文本内容。同时,将所有数据

转换为指定的统一文件格式,以便与其他工具进行整合和处理。对于时间格式、

数字格式等方面的问题也要进行格式化处理,以确保数据具有可靠的可数和比

较性。

(3).数据填空

在爬取音乐排行榜数据时,部分数据可能会出现缺少信息的情况,比如演

14

湖南商务职业技术学院毕业设计

唱者或专辑等信息缺失。为了避免这种不完整数据的干扰,可以使用填空的方

法来补充缺失的数据。填空的方法包括从其他途径获取完整信息以及根据统计

规律推算有可能缺失的信息。

(4).数据合并

音乐排行榜数据可能来自不同的来源,比如网易云音乐、QQ音乐和九酷音

乐等,存在相同的歌曲信息,不同来源可能存在一些偏差。可以对这些数据进

行合并,以充分利用数据的完整性和尽量减少不准确之处。

(5)数据统计分析

爬取音乐排行榜数据后,需要进行一些常规的统计分析工作,以进一步获

得洞见和洞察。例如,统计每个地区的最受欢迎的音乐类型,或分析受欢迎程

度与售价的关系,分析网络爆红歌曲背后的原因等。

总之,爬取音乐排行榜数据需要进行数据清洗、格式化和处理,以确保数

据质量和准确性,并为后续的数据分析和研究提供更可靠的依据。同时,数据

处理的目的是最大限度地挖掘音乐排行榜数据的信息和价值,为的业务分析和

应用提供更有力的支持。

4.1数据清洗

打开JupyterNotebook软件,从存储的txt文件中读取数据,并准备进行

数据清理,2023年歌曲周排行榜的数据读取如图4-1所示。

图4-12023年歌曲周排行榜数据图

使用pandas的duplicated()方法检查数据是否存在重复值,如图4-2。

15

湖南商务职业技术学院毕业设计

图4-2数据重复值检查图

经检查,发现数据无重复值,继续对数据进行缺失值检查,使用pandas的

isnull()方法进行数据检查,如图4-3。

图4-3数据缺失值检查图

经检查,获取的九酷音乐周排行榜数据也不存在缺失值,再次查看txt文

件后格式数据也不存在异常值、格式不对等问题,如图4-4。

16

湖南商务职业技术学院毕业设计

图4-4其他检查图

经过数据清洗后,发现2023年歌曲周排行榜以及2023年歌曲总排行榜数

据不存在数据缺失,错位还有空值等问题。

然后根据要求,对有效数据进行统一规划,去除不必要的行和列数据,避

免数据冗余。保留所需的行和列数据,将其组织成原始网页格式,并将其保存

在txt文件中,用于后续的统计分析和可视化目的,数据清洗的完成界面如图

4-5。

17

湖南商务职业技术学院毕业设计

图4-52023年歌曲周排行榜数据清洗完成界面图

4.2数据储存

在爬取音乐排行榜数据的过程中,数据存储是必不可少的。通过对爬取到

的数据进行有效的存储,可以方便对数据进行整体的处理和分析,从而更好地

为音乐市场的研究和发展提供有力支撑。以下是爬取九酷音乐排行榜数据与数

据存储的联系:

(1).文件格式化处理

在爬取音乐排行榜数据后,往往需要将数据保存到文件中进行存储。在存

储前,需要对爬取到的数据进行格式化处理,从而使数据能够按照一定的结构

被存储到文件中。为此,需要根据数据的类型和要存储的文件格式,定义好每

一行数据的格式和结构,并根据设计好的规则来进行数据的规范化和处理。

18

湖南商务职业技术学院毕业设计

(2).数据存储方式

在选择数据存储方式时,一般要考虑到数据量和数据访问的速度。如果面

对较大的数据量,那么就要考虑采用更高效的数据存储方式,例如MySQL数据

库。如果数据量较小,可以选择用文本文件进行存储。另外,也可以将数据转

化为JSON、XML等格式,存储在云端或者服务器上。

(3).数据安全与备份

为保证数据存储的安全性,一般需要进行备份操作。在采取数据备份方案

时,要充分考虑到数据量和业务等实际情况,采用可靠的存储设备,并根据具

体需求设置相应的备份策略,以充分保证数据的完整性和安全性。

总之,数据存储是爬取音乐排行榜数据中不可忽视的一环。通过对爬取到

的数据进行格式化的处理和存储,可以为的数据分析和应用提供更好的支持;

同时,合理的数据存储方案也能够有效地提升数据访问的效率和安全性。

本次毕业选择简单方便的txt文件将爬取的数据进行存储,选择使用txt

文件存储数据的原因有以下几点:

(1).简单易用:txt文件是一种非常常用的文本文件格式,几乎所有的操作

系统和程序都支持读写这种格式的文件。使用txt文件存储数据,不需要安装

任何数据库或软件,直接使用Python内置的文件I/O函数就可以实现数据的读

写。

(2).存储空间低:相比较于数据库或其他存储方式,txt文件的存储空间非

常小,仅占用磁盘空间的极小一部分。对于单个比较小的数据集,使用txt文

件存储数据可以节省很多存储空间。

(3).可读性强:txt文件的存储格式非常简单明了,一般是通过一行一行的

文本表示数据。这样的存储方式使得可以非常方便地打开txt文件,查看其中

的数据。

4.3编程实现

数据存储为txt文件的核心代码如下:

defput_txt(txt_name):#将获取到的数据添加到文件中

withopen(txt_name,'w+',encoding='utf-8')asf1:

foriinmusic_infos:

ifi[-1]=='0'ori[-2]=='0':

continue

forjini:

ifj==i[-1]:

19

湖南商务职业技术学院毕业设计

f1.write(j+'\n')

else:

f1.write(j+'\t')

总体来说,选择使用txt文件进行数据存储是一种简单、方便、自然的方

式,适合在数据量不是很大的情况下使用。在数据量较大或需要进行高效查询

和分析时,可以选择使用数据库等更加高效的存储方式。

5数据统计与分析

5.1数据准备

进行数据统计和分析使用的软件是JupyterNotebook,效果预览图如图5-1、

5-2。

图5-1数据准备页面图

图5-2数据加载页面图

20

湖南商务职业技术学院毕业设计

打开源文件2023新歌周排行榜数据.txt,查看存储数据文件,如图5-3。

图5-3txt存储数据页面图

5.2数据展示

数据可视化是数据分析的关键一步,它可以将大量数据转化为直观、易懂

的图表形式,从中发现规律、趋势和相关性,为决策者提供有力的支持和参考。

随着数据分析技术的飞速发展,越来越多的数据分析工具和可视化工具被研发

出来,数据可视化也变得日益重要。

在现代社会,所面临的数据变得越来越复杂和庞大,从而增加了分析数据

的难度。因此,数据可视化的重要性和必要性已经得到越来越广泛的认可。

通过可视化技术,可以将九酷排行榜被爬取的歌曲数据呈现为易于理解和

理解的形式,从而帮助人们更好地理解数据和分析数据,为决策制定提供帮助。

21

湖南商务职业技术学院毕业设计

5.2.1依据歌手进行统计

图5-4参考代码1图

图5-5为代码运行出的数据展示页面图

从图5-5可以看出在九酷音乐网站中,歌手祁隆的字体最大,所以意味着

他在2023年歌曲周排行榜出现的频率最高,其次就是凤凰传奇。

可以得到的结论是,本周最受欢迎的歌手是祁隆,凤凰传奇是第二受欢迎

的歌手。

5.2.2依据评分分布进行统计

运用pycharm软件导入matplotlib包使用其中的pie绘制饼状图依据评

22

湖南商务职业技术学院毕业设计

分分布进行统计,使用代码如图5-6。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论