Python网易云音乐爬虫大数据分析可视化系统
文章目录下载地址系统截图第一章 绪论1.1 研究背景及现状1.2 研究目的和意义1.3 国内外研究现状1.4 论文主要研究内容1.5 论文组织结构和安排第二章 相关技术2.1 网络爬虫2.1.1 网络爬虫的简介2.1.2 网络爬虫的架构2.2 Flask技术2.2.1 B/S架构模式2.2.2 Flask框架概述2.3 数据可视化2.3.1 ECharts可视化2.3.2 WordCloud可视化2.5 开发环境介绍第三章 系统需求分析第四章 系统设计4.1系统架构4.2 数据库设计4.3 系统功能设计4.4 本章小结第五章 系统实现与测试5.1 数据采集功能模块5.2 数据分析处理模块5.3 后端应用构建模块5.4 前端数据可视化模块5.7 系统功能测试5.8 本章小结第六章 总结和展望/结论参考文献致谢下载地址百度网盘系统截图第一章 绪论1.1 研究背景及现状2013年在腾讯音乐集团的QQ音乐和广州酷狗计算机科技有限公司的酷狗音乐控制国内在线音乐市场主体的情况下网易旗下的网易云音乐凭借其独特的音乐个性化推荐算法以及其产品内浓厚而突出的社交氛围令其冲出了互联网音乐竞争的重重阻挠获得了和腾讯音乐酷狗音乐两大强劲对手抗衡的实力。网易云音乐的成功除了其出色的营销手段、产品自身的独特体验感之外被网易云音乐触动的听众用户群体的生活经历、状态、喜好和情绪是不可忽视的。网易云的歌单文化很好的体现了自尊和自我实现的需求。尊重的需求是获得自尊和希望收到他人的尊重而自我实现的需求是实现自我价值的需求。而这两者的需要使得人相信自己的力量与价值坚信自己有能力、有创造力。网易云音乐的副总裁一直提倡着依靠大数据的音乐运营模式依托平台大数据技术让音乐的宣传发布更加高效更加精准根据用户收藏、分享、点赞、评论的歌曲风格和偏好数据为用户每日6点推送“每日推荐”歌单30首。用户因此获得发现新歌曲的新途径这种精准的数据分析与推送算法满足了用户的需求进一步提升了用户活跃的积极性因此用户也积极地制作自己喜好的高质量的歌单与此同时也会引发大部分人的收听与讨论返予了网易云音乐效果极佳的正向反馈。而网易云的评论文化则能够很好地体现用户群体的构成与用户群体当前的生活状态。了解用户群体的构成、潜在状态即可精准地对不同的用户群体推送、定制服务内容。若能深度挖掘这些数据背后的意义就能够正向地挖掘用户用户更多的业务需求以及支持平台运营的决策方向。本文从大数据数据可视化分析的视角出发试图通过海量的用户信息和用户行为数据分析和探讨网易云音乐客户群体的音乐类型的喜好、收藏分享评论等行为的倾向。1.2 研究目的和意义在这个信息技术高速发展的新时代几乎在所有信息化技术化的大平台里都囤积、隐藏了海量的、有待挖掘的、有意义的客户行为数据源这些数据在大数据技术发展之前都是被埋没而无人问津的甚至因为数据存储费用的高昂价格而被简单地清理抹除掉丢失了通过数据挖掘将囤积数据转换为实体价值的机会。而python语言的爬虫技术应用给数据挖掘带来了无限的可能通过挖掘网易云音乐平台的用户数据进行分析可以了解用户数据背后的具体含义从而归纳出对应数据的特点为平台的运营决策者提供更加优质、丰富、有利的决策、建议。本设计的意义是通过大数据分析可视化Web平台将网易云音乐用户数据行为的倾向结果以简单明了的方式呈现出来同时提供一定的数据查阅与可观赏性。1.3 国内外研究现状现如今有不少借助python爬虫技术对各种招聘、餐饮、旅行等领域的信息进行爬取然后通过进行可视化展示的研究探讨较多绝大部分的研究只是做到了通过Python爬虫对网易云音乐里的评论、歌单、用户、歌词等数据进行采集爬取利用PyCharts、WordCloud生成对应的图表、词云图然后直接对图表进行行为分析而结合Flask、Ecahrts搭建Web数据可视化平台实现从数据到可视化图表转换展示的研究相较甚少。1.4 论文主要研究内容本文主要研究从如何采集数据到如何搭建Web可视化图表的过程展开研究包括但不限于所需技术和原理说明采集数据的需求、手段和实现思路对采集数据文本进行预处理即数据清洗与永久性数据库存储对可视化web平台的构建与可视化图表的实现。本文希望所作分析能为网易云音乐平台提供相应的歌单、歌曲的播放、收藏、分享、评论量一定的预测参考信息也希望能为平台用户群体提供关于如何创建以及如何选择优质的歌单的参考对网易云音乐平台如何提高用户使用率、活跃率、增强用户粘性以及给用户推送音乐信息具有一定的参考价值。1.5 论文组织结构和安排本论文共分为6章论文具体的组织结构安排如下第一张 绪论。本章主要对论文的研究背景及现状、研究的目的和意义网易云音乐数据分析的国内外研究现状、论文主要研究内容进行了介绍并在本章的最后对文本的主要研究内容和论文的组织结构进行了说明。第二章 相关技术。本章首先介绍了一些基础的理论知识然后再对所需用到的技术和框架如网络爬虫、Flask框架、ECharts框架等进行了介绍。第三章 系统需求分析。本章对论文研究的系统进行详细的需求分析包括系统的功能性需求和非功能性需求。第四章 系统设计。本章介绍的是系统的设计从系统的架构设计、数据表设计、系统服务器各个模块的功能设计再到前端各个网页模块的设计都进行了详细的阐述并对改系统的开发环境经行了详细说明。第五章 系统实现与测试。本章对系统的各个功能模块的实现、数据分析模块的思路以及系统的功能测试都进行了详细的描述并将系统数据分析可视化的结果进行了部分展示。第六章 总结和展望。本章首先对论文的内容进行了总结描述然后说明了目前系统中存在的问题和不足以及关于系统后期改进的设想。第二章 相关技术2.1 网络爬虫2.1.1 网络爬虫的简介网络爬虫其本质是一段按照一定规则自动化抓取互联网信息的应用程序可以从互联网上抓取对于我们有价值的信息。一个好的爬虫程序会高效并且准确地从网上拿到使用者所希望获取的信息节省人工重复行为如点击网页、鼠标点击、打开URL连接、复制网页内容、翻页等低效的时间。网络爬虫的用途广泛。网络爬虫最常见的用途是用来做搜索引擎、采集数据、广告过滤等工作强大的网络爬虫还能用于大数据的抓取海量数据的分析作用巨大。只要能通过URL地址访问到网络数据均可用网络爬虫自动化爬取。2.1.2 网络爬虫的架构Python 爬虫架构主要由五个部分组成分别是:调度器、URL管理器、网页下载器、网页解析器、应用程序提取的有价值数据。下面简单介绍一下各个组成部分**调度器**相当于一台电脑的CPU主要负责调度URL管理器、下载器、解析器之间的协调工作。**URL管理器**包括待爬取的URL地址和已爬取的URL地址防止重复抓取URL和循环抓取URL实现URL管理器主要用三种方式通过内存、数据库、缓存数据库来实现。**网页下载器**通过传入一个URL地址来下载网页将网页转换成一个字符串网页下载器有Python官方自带的urllib2基础模块还有第三方的网页下载器requests包。**网页解析器**将一个网页字符串进行解析可以按照人为要求去提取有效信息也可以根据DOM树的解析方式来解析。网页解析器有正则表达式、html.parser、beautifulsoup、lxml。正则表达式。编写正则表达式提取网页内容的方式非常直观解析器将网页转成字符串后通过正则表达式模糊匹配的方式来提取有价值的信息。但是当文档DOM树比较复杂的时候使用正则表达式的方法提取数据就会变得非常的困难因为正则表达式只能通过模糊查询一定结构的文本信息当DOM树结构复杂规律不明显的时候就容易提取到错误杂乱的信息。html.parser。这是Python自带纯Java语言编写的文档解析器也是根据DOM树结构来解析所需提取的内容它能以高速且低出错率地提取HTML文件。beautifulsoup。属于第三方的解析插件它可以使用Python自带的html.parser进行解析也可以使用lxml进行解析相对于其他几种解析器来说要方便快捷且强大稳定。将一段html文档传入BeautifulSoup 的构造方法,就能得到一个文档树对象然后通过传入一段字符串或一个文件句柄即可定位对应元素的位置并提取返回元素内容。lxml。Ixml是一种第三方使用 Python 编写开发的解析库可以通过形成DOM树对象的方式迅速、灵活地处理 XML 和 HTML文件。**应用程序**就是从返回的网页中提取的有用数据组成的一个应用。下面用一个图来解释一下调度器是如何协调工作的:通过调度器的协调工作将开发者提供的URL进行定向资源采集后返回到爬虫应用程序中开发者即可通过调用各种方法对返回的资源通过一定规则进行提取并保存。2.2 Flask技术2.2.1 B/S架构模式B/S架构其实就是Browser/Server架构该架构是随着互联网的发展出现Web后兴起的一种网络结构是目前主流的也是基于Web的浏览器/服务器三层体系结构。这种模式统一了客户端让核心的业务处理在服务端完成。该架构对客户端要求不高客户无需安装其他软件只需要在自己电脑或手机上安装一个浏览器然后在浏览器访问对应的网站地址即可就可以通过web Server与数据库进行数据交互。而且采用B/S架构的系统相较于C/S架构的系统系统的维护和升级均在服务器端进行而客户端的浏览器无需修改这样就极大地降低了系统维护的成本与繁琐程度。这也是本文选择B/S架构搭建应用的原因。2.2.2 Flask框架概述在2021年要实现一个Web应用后端开发框架我们有许多种选择较为主流的Web应用开发框架有基于JavaScript的NodeJS、基于Python的Django、基于PHP的Laravel这三种而本论文选择的是基于Python编写的轻量级的Flask框架。Flask作为一个轻量级的 Python WEB 开发框架以其良好的扩展性和易用性俘获了大量的簇拥者。它的作用主要是为了方便开发WEB应用程序。作为 WEB 框架来说Flask框架仅保留了两个核心功能请求响应处理和模板渲染。这两类功能分别由 WerkzeugWSGI 工具库和 Jinja模板渲染引擎库负责完成。Flask框架主张“一切从客户端发起请求开始”首先由Flask创建一个APP程序当用户想要获取资源时通过浏览器发起HTTP请求此时WEB服务器使用一种名为WEB服务器网关接口的WSGIWeb Server Gateway Interface协议把来自客户端浏览器的请求都交给Flask程序实例然后Flask使用Werkzueg来做路由分发找到客户请求的路由函数方法并执行然后向WEB服务器返回一个由Jinja渲染后的网页文件服务器再将访问资源响应给浏览器解析最终浏览器显示返回的结果。使用Flask框架开发者只需要专心编写Flask APP的路由即可节省大量重复造轮子的精力和时间。2.3 数据可视化2.3.1 ECharts可视化Apache ECharts是百度开源后捐由Apache开源孵化的一个基于 JavaScript 的开源可视化图表库。ECharts可以流畅的运行在 PC 和移动设备上兼容当前绝大部分浏览器如IE8/9/10/11ChromeFirefoxSafari等底层依赖轻量级的矢量图形库 ZRender能提供制作简单、样式直观、生动、可交互、可个性化定制的数据可视化图表。而且是由中国团队开发编写官方网页有个性化的规范的使用教学和说明文档非常适合中国开发者用以开发使用。Echarts有丰富的图表类型提供开箱即用的 20 多种图表和十几种组件并且支持各种图表以及组件的任意组合ECharts有着强劲的渲染引擎如使用了Canvas、SVG 双引擎一键切换增量渲染、流加载等技术实现了千万级数据的流畅交互Echarts还提供了优雅的可视化设计默认设计遵从可视化原则支持响应式设计并且提供了灵活的配置项方便开发者定制。使用ECharts开发者只需安装ECharts或者引入其对应的js文件然后考虑使用JavaScript语言编写所需的可视化图表即可。2.3.2 WordCloud可视化词云图是一种用来展现高频关键词的可视化表达通过文字、色彩、图形的搭配产生具有冲击力的视觉效果并传达有价值的信息。而词云图由WordCloud通过形成 “关键词云层” 或 “关键词渲染”生成能够对文本中出现频率较高的关键词进行视觉上的突出能过滤掉大量的无效的文本信息使用户只要一眼扫过文本就可以领略文本的主旨。WordCloud 是一款python环境下的词云图工具包同时支持python2和python3能通过代码的形式把关键词数据转换成直观且有趣的图文模式。WordCloud可视化过程中所需引用的库较多首先需要使用jieba库的cut方法对文本进行分词切割、识词过滤然后统计文本词频接着调用Image库选择一个干净的背景图层进行图像处理同时调用numpy库对处理后的图像进行矩阵运算算出可显示文本的区域数组然后是调用wordlcloud库生成wordcloud对象传入numpy运算的空间数组就可以通过generate方法将词频表中的词汇融入到指定的空间位置中去最后即可调用pyplot库将wordcloud形成的最终图片绘制并保存到外部存储器中。2.5 开发环境介绍本文所用的操作系统是微软旗下的Windows 10系统Windows操作系统以的用户交互著名。开发过程中采用的Python版本是3.7.7版本所使用的IDE集成开发工具是Jetbrains旗下的PCharm2020.3版本所采用存储数据的数据库是SQLite第三章 系统需求分析第四章 系统设计4.1系统架构4.1.1 系统组成4.1.2 热点分析流程及可视化方式4.1.3 系统设计流程及主要技术4.1.4 可视化分析流程4.2 数据库设计4.2.1 数据库概念结构设计4.2.2 数据库表结构设计4.3 系统功能设计4.3.1 数据采集模块4.3.2 后端动作响应模块4.3.3 前端主页模块4.3.4 前端数据可视化模块4.4 本章小结第五章 系统实现与测试5.1 数据采集功能模块5.2 数据分析处理模块5.3 后端应用构建模块5.4 前端数据可视化模块5.7 系统功能测试5.8 本章小结第六章 总结和展望/结论参考文献[1]何雪锋.智联招聘数据分析与可视化系统设计[J].河北软件职业技术学院学报,2020,22(03):17-1831.[2]潘承佳,刘冬冬.基于python的招聘信息爬取与分析[J].电脑知识与技术,2020,16(27):102-104.[3]罗安然,林杉杉.基于Python的网页数据爬虫设计与数据整理[J].电子测试,2020(19):94-9531.[4]边倩,王振铎,库赵云.基于Python的招聘岗位数据分析系统的设计与实现[J].微型电脑应用,2020,36(09):18-1926.[1] 基于PyEcharts的全球玉米贸易数据可视化系统建设及应用展望[J]. 贾利娟,刘娟,王健,周国民. 农业展望. 2019(03)[2] 基于PythonEcharts的大数据可视化系统的设计与实现[J]. 陈俊生,彭莉芬. 安徽电子信息职业技术学院学报. 2019(04)基于Python和Echarts的商品评价文本的可视化设计[J]. 穆翠霞. 电脑知识与技术. 2020,16(35)基于Python网络爬虫技术的数据采集系统研究[J]. 钟机灵. 信息通信. 2020(04)王瑞梅. 网络招聘数据可视化分析系统的设计与实现[D].河北师范大学,2020.致谢衷心的感谢计算机专业各位老师在大学学习期间给予了我极大地鼓励和帮助在学习上给予了我严谨、耐心的指导在生活上给与了我亲切、热情的关怀。老师们渊博的学识、谦逊、谨慎的治学作风一丝不苟、尽职尽责的工作态度以及正直的为人之道都将是我终身受益并激励我始终刻苦努力。在此我向各位老师表示崇高的敬意和衷心的感谢