版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言1
1.1项目背景1
1.2开发环境与工具2
1.2.1Python简介2
1.2.2MySQL简介2
1.2.3JupyterNotebook简介3
1.2.4PyCharm简介4
2需求分析4
2.1可行性需求分析4
2.2采集目标功能分析5
2.3关键技术分析5
2.3.1网络爬虫技术5
2.3.2文件存取技术7
2.3.3可视化技术8
3数据采集8
3.1采集页面分析8
3.2字段分析11
3.3编程实现12
4数据清洗与处理13
4.1数据清洗13
4.2数据储存14
4.3编程实现16
5数据统计与分析18
5.1数据准备18
5.2数据展示18
5.2.1依据时令的评论收藏进行统计18
5.2.2依据时令的季节进行统计20
I
湖南商务职业技术学院毕业设计
5.2.3各个时令最火热的菜品进行统计和分析22
5.3综述23
6小结23
参考资料25
II
湖南商务职业技术学院毕业设计
网上厨房网站数据采集与分析
1引言
美食是打开心灵的窗户,简单的美食,是生活中的必需,每一餐都承载着
期待和欢喜。就像碎银几两,虽不显眼,却能换来满满的幸福。用心品味,用
爱烹饪,原来生活就是最好的诗人。随着互联网的发展,不同地域的人吃着各
不相同的时令美食。而网上厨房网站是专门为美食爱好者提供菜谱分享、厨艺
交流的美食平台。在网上厨房网站这个平台,大家可以分享家乡的特色美食,
时令美食。
通过对网上厨房网站的数据采集与分析,可以了解时令美食里面哪些深受
用户的喜好,这不仅有助于美食平台的运营管理,为美食创作和推广提供参考,
同时也为美食产业的研究提供数据支持。因此,对网上厨房网站的数据和分析
具有重要的意义。
1.1项目背景
随着科技的发展和社会的变迁,网上厨房网站应运而生,它不仅仅是个简
单的在线菜谱分享平台,更是现代数字化生活方式和社交互动需求的综合体现。
如互联网普及的推动、烹饪爱好者增多、线上线下融合趋势等。
1.互联网普及的推动:
近年来,互联网在全球范围内普及显著提升,为人们提供了获取信息的便捷
途径。传统的烹饪方式逐渐被数字化的在线指导所取代,越来越多的家庭开始使
用智能手机或平板电脑搜索菜谱、学习烹饪技巧。
2.烹饪爱好者增多:
随着社会压力的增大,人们越来越重视家庭烹饪的生活品质,作为一种生活
乐趣和技能,受到越来越多人的青睐。烹饪爱好者数量的增加,为网上厨房网
站提供了庞大的用户基础。
3.线上线下融合趋势:
在线上到线下模式的推动下,线上线下融合成为趋势。网上厨房网站不仅提
供线上菜谱教学,还结合线下实体活动,如烹饪课程,为用户提供更丰富和多样
的体验等。
涉及到网上厨房网站的信息有很多,需要对网页进行解析。然后通过Python
爬虫的手段批量获取想要的资料。
1
湖南商务职业技术学院毕业设计
因此,利用大数据爬虫技术和数据分析的方法来自动化地采集和分析网上
厨房网站的数据,对于美食行业的专业人士和爱好者来说具有重要的实际意义。
本次项目就是对网上厨房网站冬季时令、春季时令、夏季时令、秋季时令
进行数据采集与分析,运用大数据技术,分析消费者行为模式和需求趋势,为
精准营销和个性化服务提供依据。
传承和弘扬中国饮食文化、满足市场需求与提高消费者洞察是网上厨房网
站发展的重要使命。通过深入挖掘和整理传统菜谱、推广健康饮食理念、创新
菜品与烹饪技艺等方式,可以传承和弘扬中国饮食文化;通过分析消费者行为
与偏好、利用大数据技术等手段,可以提高消费者洞察。只有在这样的基础上,
网上厨房网站才能在激烈的市场竞争中脱颖而出,为中国饮食文化的传承与发
展做出积极贡献。
1.2开发环境与工具
1.2.1Python简介
Python是一门功能强大的解释型编程语言,具有面向对象和动态类型等高
级特性。
Python的核心优势在于其提供了丰富且高效的高级数据结构,并支持直观、
简单的面向对象编程范式。此外,Python语法简洁清晰,通过使用空格和换行
符进行语句缩进,使得代码结构清晰易懂,极大地提高了代码的可读性。
Python的另一个显著特点是其强大的标准库,这个库为各种主流系统平台
提供了丰富的源码和机器码,这意味着开发者可以使用Python轻松地构建各种
应用程序,从简单的脚本到复杂的系统软件。这种易用性和通用性使得Python
成为一种深受喜爱的编程语言。
Python也是一款真正的自由软件,其源代码和核心解释器CPython都遵循
了GPL(GNUGeneralPublicLicense)协议,这意味着任何人都可以自由地
使用、修改和分发Python。此外,Python的扩展性极佳,开发者可以使用C、
C++或其他可以通过C接口调用的语言来扩展Python的功能和数据类型,这使
得Python成为定制软件和扩展程序开发的理想选择。
1.2.2MySQL简介
MySQL是一个广受欢迎的开源关系型数据库管理系统,广泛应用于Web应
用程序的后端数据存储。由于其支持多种操作系统和编程语言,并具备高性能、
2
湖南商务职业技术学院毕业设计
可靠性和扩展性等特点,MySQL已成为众多开发者的首选数据库解决方案。
关系型数据库的核心优势在于其数据组织方式:数据被存储在多个相关联
的表中,而非集中存储。这种设计不仅提高了数据访问速度,还增强了数据的
灵活性和管理性。MySQL使用标准的SQL(StructuredQueryLanguage)语言
进行数据操作,使得数据的查询、插入、更新和删除变得简单直观。
MySQL优化了SQL算法,从而显著提高了查询速度。对于大型数据集和高
并发的应用场景,MySQL都能提供稳定的性能表现。同时,由于其活跃的社区
和用户群体,遇到问题时可以迅速获得帮助和解决方案。
总的来说,MySQL是一个功能强大、性能稳定的关系型数据库管理系统,
适用于从小型项目到大型企业级应用的各种规模的应用程序开发。无论是初学
者还是经验丰富的开发者,MySQL都是一个值得信赖的数据库管理选择。
1.2.3JupyterNotebook简介
JupyterNotebook是一个强大的开源Web应用程序,它改变了数据科学家、
研究人员、开发人员和学生创建、分享和交互代码的方式。作为一个交互式笔
记本,JupyterNotebook不仅支持实时代码执行,还允许用户在文档中嵌入数
学方程、可视化和Markdown文本,从而创建出丰富、动态和可读性强的文档。
JupyterNotebook起源于2014年的IPython项目,随着时间的发展,它
扩展了对多种编程语言的支持,目前可以运行超过40种编程语言,包括但不限
于Python、R、Julia、Scala等。这一特性使得JupyterNotebook成为一个非
常灵活的平台,可以满足不同领域和项目的需求。
在JupyterNotebook中,用户可以创建新的代码单元格,编写代码,并通
过点击运行按钮来立即看到代码执行的结果。这种即时反馈机制使得数据分析
和科学计算变得更加直观和高效。同时,JupyterNotebook还支持将代码、文
本和可视化结果组合在一起,创建出类似于报告的文档,便于分享和交流。
除了基本的代码执行和文档创建功能外,JupyterNotebook还提供了许多
其他强大的特性。
总之,JupyterNotebook是一个功能强大、易于使用且高度灵活的开源Web
应用程序,它已经成为数据科学、机器学习和科学研究等领域中不可或缺的工
具之一。无论是初学者还是经验丰富的专业人士,都可以通过JupyterNotebook
来更高效地创建、分享和交互代码和文档。
3
湖南商务职业技术学院毕业设计
1.2.4PyCharm简介
PyCharm确实是一个出色的Python集成开发环境(IDE),它凭借丰富的
功能和高效的工作流程,极大地提升了Python开发者的生产力。这款IDE由
JetBrains公司精心打造,为Python开发者提供了一站式的解决方案,无论是
初学者还是资深开发者,都能从中受益。
首先,PyCharm的调试器功能非常强大,它允许开发者逐步执行代码,查
看变量值,设置断点等,从而轻松定位和解决代码中的错误和问题。这一功能
对于提升代码质量和用户体验至关重要。
其次,PyCharm提供了全面的项目管理工具,可以帮助开发者组织、分析
和测试代码。代码跳转、智能提示和自动完成等功能则大大加快了编码速度,
减少了输入错误。
此外,PyCharm还集成了版本控制系统(如Git),使得代码的版本管理和
协作变得更加方便。它还支持单元测试,帮助开发者编写和维护高质量的代码。
值得一提的是,PyCharm还具备多语言支持能力,除了Python外,还支持
HTML、CSS、JavaScript等其他语言。这意味着开发者可以在同一个IDE中处
理多种语言的开发工作,进一步提高了开发效率。
总的来说,PyCharm凭借其强大的功能、优秀的用户体验和广泛的适用性,
已经成为了Python开发领域中最受欢迎的集成开发环境之一。无论是进行小型
项目还是大型项目的开发,PyCharm都能为开发者提供极大的帮助。
2需求分析
2.1可行性需求分析
1、技术可行性
Python是一种功能强大的编程语言。Python的设计注重代码的可读性,并
允许程序员用少量代码表达想法。Python是一种非常流行的编程语言,它在许
多领域都得到了广泛应用。Python提供了数据类型相关的标准库,可以帮助人
们更方便地处理数据;Python提供了网络通信相关的标准库,可以帮助人们更
方便地实现网络通信;Python提供了并发编程相关的标准库,可以帮助人们更
方便地实现并发编程等。
使用Python可以得到各种库,如requests库、selenium库、beautifulsoup
库、scrapy库等。应用这些库可以爬取网上厨房中的时令美食数据,首先通过
4
湖南商务职业技术学院毕业设计
谷歌浏览器搜索并打开网上厨房网站,然后右击选择检查,可以查看到请求方
法为GET,状态代码为200,就可以爬取源数据。把爬取完的源数据保存到Excel
文件里面即可进行数据清洗与分析了。
综上所述,Python爬取网上厨房网站的数据在技术上是可行的。
2、项目可行性
随着生活节奏的加快,越来越多的人倾向于在家中烹饪美食,享受家庭聚
餐的乐趣。因此,网上厨房网站应运而生,为用户提供丰富的菜谱、食材购买
渠道、烹饪技巧分享等服务。市场调研显示,这一领域存在巨大的市场需求,
特别是在年轻用户群体中,网上厨房网站具有极高的吸引力。通过分析数据,
可以深入了解用户对美食的偏爱,从而更加满足用户的需求,优化推荐算法,
提升用户体验。
本次项目通过网上厨房网站的时令美食来分析国家时令美食的信息。当然
也将从评论量、收藏量、菜名等方面对其进行深度挖掘,分析出有价值的信息,
将其可视化,最后根据结果得出结论。
2.2采集目标功能分析
本次项目的数据集的来源是网上厨房网站,是通过python爬取网上厨房网
站时令美食的信息。数据清洗后共3630条记录,爬取完成后尽可能的检查数据
的准确性,确定爬取出来的数据无误并且是属于网上厨房网站时令美食存在的
信息。
分析网上厨房网站网页信息,明确需要爬取时令美食的参数有菜名、作者、
收藏量、评论量、季节等数据,在对原始数据进行预处理后会对其数据进行多个
维度的分析。例如,从哪些菜品最受人们喜爱哪些菜品最小众。并提供数据可视
化功能,将各项统计数据以图表等形式展示,方便用户进行数据分析和比较。
2.3关键技术分析
2.3.1网络爬虫技术
网络爬虫技术,也被称为网络蜘蛛或网络机器人,是一种自动化程序,它
能够按照一定的规则和算法,自动抓取互联网上的信息。网络爬虫是搜索引擎
的重要组成部分,通过抓取和解析网页内容,为搜索引擎提供索引和数据支持。
网络爬虫的工作原理可以概括为以下三个步骤:
1.数据采集:爬虫从一组初始网页的URL开始,通过发送HTTP请求获取网
5
湖南商务职业技术学院毕业设计
页内容。在获取网页的过程中,爬虫会不断从当前页面上提取新的URL,并将
它们添加到待抓取的URL队列中。这个过程会一直进行,直到满足系统设定的
停止条件,如达到设定的抓取数量、抓取时间等。
2.数据处理:爬虫对抓取到的网页内容进行处理和分析。这个过程包括去
除HTML标签、提取文本内容、识别并过滤广告等无关信息、提取关键词等。处
理后的数据会被存储到本地或数据库中,以供后续使用。
3.数据存储:爬虫将处理后的数据存储到本地或数据库中。存储的数据可
以包括网页文本、图片、链接等。为了方便后续的查询和检索,这些数据通常
会按照一定的结构进行组织,如建立索引、分类存储等。
根据功能和应用场景的不同,网络爬虫可以分为多种类型,如通用爬虫、
聚焦爬虫等。通用爬虫旨在抓取尽可能多的网页信息,而聚焦爬虫则专注于抓
取与特定主题或需求相关的网页信息。此外,还有一些特殊的爬虫,它们针对
不同的数据来源和特点进行设计和优化。
需要注意的是,网络爬虫的使用需要遵守法律法规和道德规范,不得侵犯
他人的合法权益。同时,由于网络爬虫会对目标网站造成一定的访问压力,因
此在使用时需要考虑到网站的承受能力和访问限制。此外,为了避免对目标网
站造成不必要的损害,爬虫通常会设置合理的抓取频率和并发数等参数。
有爬虫技术,那也一定存在反爬取的技术了,常见的反爬验证码、登录验证、
动态加载等。这些手段会加大爬虫工程师的工作量,也会加大网站的开发成本。
当然也会有解决反爬虫的方法:
1.设置合理的请求间隔和并发数:爬虫在发送请求时应该设置合理的间隔
和并发数,以避免对目标网站造成过大的访问压力。这可以通过在爬虫中添加
延时或使用线程池等方式实现。
2.使用代理IP:使用代理IP可以避免爬虫IP被封禁,因为每次请求都会
通过不同的IP地址发送。同时,代理IP也可以模拟不同的用户访问来源,增
加爬虫的隐蔽性。
3.修改请求头:修改请求头中的User-Agent、Referer等字段,可以伪装
成正常的浏览器请求,减少被识别为爬虫的可能性。同时,也可以根据需要设
置其他请求头字段,如Accept-Language、Accept-Encoding等。
4.处理验证码:当遇到验证码时,可以使用OCR技术(光学字符识别)进
行自动识别,或者通过手动输入验证码的方式来解决。对于一些复杂的验证码,
可能需要结合机器学习等技术进行识别。
5.使用动态爬虫技术:对于使用JavaScript等技术动态生成页面内容的网
6
湖南商务职业技术学院毕业设计
站,可以使用Selenium等动态爬虫技术来模拟浏览器行为,获取动态生成的内
容。
6.分布式爬虫:将爬虫部署在多个机器上,通过分布式的方式抓取数据。
这样可以提高爬虫的抓取效率,同时降低对单个机器的负载压力。
7.遵守网站规则:在抓取数据之前,仔细阅读网站的使用协议和爬虫政策,
确保爬虫遵守网站规则。如果网站提供了API接口,则优先考虑使用API进行
数据抓取等。
总的来说,网络爬虫是一种强大的技术工具,它能够帮助更加高效地从互
联网上获取信息,但同时也需要在使用过程中注意遵守相关法规和道德规范,
尊重他人的权益。
2.3.2文件存取技术
文件存取技术的基本作用是存储信息。文件存取法,也可以称之为文件的
存取方法,是指读写文件存储器上的一个物理块的方法。在Python中,可以使
用内置的函数和模块来存取文件。这包括读取打开文件、读取文件内容、写入
文件、修改文件以及文件路径操作,如open()、read()、write()、close()等。
下面是文件存取技术的一些常用操作函数和方法概述:
打开文件的函数是open()函数,在Python中open()函数用于打开一个文
件,并返回一个文件对象。它需要一个文件路径和一个模式作为参数(例如:
'r'代表只读,'w'代表写入,'a'代表追加,'r+'代表读写等)。
读取文件内容的函数是read()函数,在Python中read()函数用于读取文
件中的内容。如果没有指定参数,它会读取整个文件。如果指定了参数,它会
读取指定数量的字节。
写入文件的函数是write()函数,在Python中write()函数用于向文件写
入内容。它接受一个字符串作为参数,并将该字符串写入到文件中;修改文件
是指通常涉及到读取文件的全部或部分内容,对其进行修改,然后重新写入到
文件中;文件路径操作是指在Python中,可以使用“os”模块来进行文件路径
操作,如拼接路径、获取当前工作目录等。
关闭文件的函数是close()函数,在Python中close()函数是指一旦完成
了文件的读写操作,就应该使用“close()”方法来关闭文件。这可以确保所有
的数据都被正确地写入文件,并释放系统资源。
7
湖南商务职业技术学院毕业设计
2.3.3可视化技术
可视化技术是一种将数据、信息和知识转化为直观、易理解的视觉形式的
技术。利用计算机图形学、图像处理、人机交互等技术,将大量、复杂的数据
进行可视化处理,从而帮助用户更好地理解和分析数据,发现数据中的规律和
趋势,提高决策效率和准确性。
可视化技术可以分为多个类型,包括二维可视化、三维可视化、动态可视
化等。二维可视化主要利用图形、图表等形式展示数据,如柱状图、折线图、
饼图等。三维可视化则通过三维模型、动画等形式展示数据,更加直观、生动
地呈现数据的空间结构和变化过程。动态可视化则结合了时间和空间的概念,
通过动态展示数据的变化过程,帮助用户更好地理解数据的动态特征。
可视化技术的应用范围非常广泛,涵盖了科学、工程、医学、金融、社会
科学等多个领域。在科学研究中,可视化技术可以帮助科研人员更好地理解实
验数据,发现新的科学规律。在工程领域,可视化技术可以用于模拟和优化工
程设计,提高产品的质量和性能。在医学领域,可视化技术可以用于医学图像
的处理和分析,帮助医生更好地诊断疾病。在金融领域,可视化技术可以帮助
投资者更好地理解市场动态,做出更明智的投资决策。
总之,可视化技术是一种强大的数据分析和决策支持工具。它能够将复杂
的数据转化为直观、易理解的视觉形式,帮助用户更好地理解和分析数据,提
高决策效率和准确性。随着信息技术的不断发展和应用领域的不断扩大,可视
化技术将在未来发挥更加重要的作用。
3数据采集
3.1采集页面分析
首先通过谷歌浏览器搜索网上厨房的官方网页,然后找到时令美食目录中
的冬季时令页面,如图3-1所示,其中URL为:/caipu/
fenlei257353370/?page=1,打开冬季时令页面的第二页,如图3-2所示,其中
URL为:/caipu/fenlei257353370/?page=2。打开春季
时令页面。如图3-3所示,其中URL为:/caipu/
fenlei257353357/?page=1,打开春季时令页面的第二页。如图3-4所示,其中
的URL为:/caipu/fenlei257353357/?page=2。
在图3-1、图3-2的网址中,可以发现第一页为1,第二页为?page=2,由
8
湖南商务职业技术学院毕业设计
此类推,页码的改变就是从1增加到2。把fenlei257353370/网址改成
/fenlei257353357/网址,就可以让冬季时令改成春季时令了,然后就知道了更
改数据就能够打开不同菜系的页面了。
图3-1冬季时令数据网址第一页面
图3-2冬季时令数据网址第二页面
9
湖南商务职业技术学院毕业设计
图3-3春季时令数据网址第一页面
图3-4春季时令数据网址第二页面
右击选择检查按调出开发者工具,刷新页面,如图3-5所示。
10
湖南商务职业技术学院毕业设计
图3-5开发者工具
利用全局搜索工具定位所需数据位置,点击开发者工具上面的Headers字
段,分析这个请求,发现这个是一个GET请求,然后就可以使用Python中的
request库里面的get函数爬取数据。
3.2字段分析
首先来到网上厨房网站的冬季时令页面,右击选择检查按调出开发者工具,
然后单击元素选择器,找到需要爬取数据的位置,如图3-6所示,使用Requests
方法中的GET方法来获得响应的数据,最原始的数据格式是呈现HTML网页格式,
所以需要使用lxml库里的xpath爬取数据,然后把爬取的数据存储到Excel格
式的文件当中。
图3-6分析数据类型页面
11
湖南商务职业技术学院毕业设计
3.3编程实现
下载并导入所需库
importos#导入所需要的库
importpandasaspd
importrequests
fromtqdmimporttqdm
fromlxmlimportetree
importcsv
设置请求头,伪装成浏览器访问服务,如图3-7所示:
图3-7请求头内容页面
代码实现如下:
importos#导入所需要的库
importpandasaspd
importrequests
fromtqdmimporttqdm
fromlxmlimportetree
importcsv
#爬取网页,获取数据
defparse_page(base_url,num=101):
headers={'cookies':'cookie:Hm_lvt_575268041258432c3d6f1947dc1fe1ff=1711453250;
Hm_lpvt_575268041258432c3d6f1947dc1fe1ff=1711456936',
'user-agent':'user-agent:Mozilla/5.0(WindowsNT10.0;WOW64)
AppleWebKit/537.36(KHTML,likeGecko)Chrome/86.0.4240.198Safari/537.36'}
response=requests.get(base_url)
html=etree.HTML(response.text)
page_nums=html.xpath("//div[@class='all_article_header_message']/span[2]/text()")[0]
page_nums=int(page_nums)//10
data=[]
#爬取时令美食的菜名、作者、收藏量、浏览量
fornintqdm(range(0,min([num,page_nums])+1)):
url=os.path.join(base_url,'?page={}'.format(n))
response=requests.get(url,headers=headers)
html=etree.HTML(response.text)
title=html.xpath("//ul[@class='menu_list']//h4/text()")#菜名
writer=html.xpath("//div[@class='writer']/a/text()")#作者
praise=html.xpath("//div[@class='praise']/span/text()")#评论
12
湖南商务职业技术学院毕业设计
collect=html.xpath("//div[@class='list_collect']/span/text()")#收藏
df=pd.DataFrame({'title':title,'writer':writer,'praise':praise,'collect':collect})
data.append(df)
data=pd.concat(data,ignore_index=True)
returndata
#时令,冬春夏秋
winner=parse_page('/caipu/fenlei257353370/')
spring=parse_page('/caipu/fenlei257353357/')
summer=parse_page('/caipu/fenlei257353359/')
autumn=parse_page('/caipu/fenlei257353364/')
##数据处理
winner['season']='winner'
spring['season']='sprint'
summer['season']='summer'
autumn['season']='autumn'
data=pd.concat([winner,spring,summer,autumn],ignore_index=True)
data.to_excel('C:/Users/86199/Desktop/caipu.excel',index=False)
4数据清洗与处理
数据清洗与处理是数据分析的重要步骤,其主要目标是确保数据的准确性
和可靠性,为后续的数据分析和建模提供良好的数据基础。
数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括
检查数据一致性,处理无效值和缺失值等。
原始数据中往往存在一些错误、缺失、重复或异常值,这些问题会影响后续
分析结果的准确性。数据预处理可以清洗这些问题数据,提高数据的质量和可靠
性。
数据清洗与处理,可以大大提高数据的质量和可靠性,为后续的数据分析
和建模提供坚实的数据基础。同时,这也是确保数据驱动的决策和准确的模型
建立的重要前提。
本次项目中需要将爬下来的数据和网页源数据进行比对,并且检查是否出
现空值,还有数据的位置是否正确。根据不同的需求还要对数据进行不同的处
理。
4.1数据清洗
通过网页原数据和爬下来的数据对比,发现数据存在错误、缺失、重复
13
湖南商务职业技术学院毕业设计
或异常值。然后根据需求对数据进行清洗,把清洗好的数据存储为CSV文档,
在后续作为统计分析、数据可视化使用。
图4-1数据清洗准备页面
经过比对和检查,发现数据不存在缺失,错位还有空值,那么只根据需求将
有效数据统一规划去掉不要的行列数据,防止数据冗余。因此只需保留需要的数
据,然后整理为原网页格式存入caipu.csv文件中,留存后续作为统计分析、可
视化使用。
图4-2数据清洗完成界面
4.2数据储存
数据储存有许多的存储方法,比如:csv存储方法、excel存储方法、json
存储方法等。随着大数据技术的慢慢发展,新型的数据存储逐渐露头了,比如:
14
湖南商务职业技术学院毕业设计
云计算、分布式存储、固态硬盘等。大数据技术的发展,数据存储提升了更高
的要求。本次项目用到的是CSV与MySQL。
CSV文件具有简单、通用和易于处理的特点,在数据存储、数据分析等方
面得到了广泛应用。CSV文件的灵活性和易用性使得数据的处理和共享变得更
加简单和高效。
而MySQL是一个开源的关系型数据库管理系统,也是最流行的数据库系统。
优点有许多,比如:易用性、稳定性、灵活性、可扩展性等。易用性为MySQL
提供了简单而强大的SQL语言来管理数据,同时也提供了多种图形化工具,帮
助开发者更方便地管理数据库。
稳定性:MySQL在高负载下表现出良好的稳定性,适用于各种生产环境。
灵活性:支持多种操作系统,包括Linux、Windows、MacOS等。
可扩展性:MySQL支持大型数据库,并且可以通过复制、分区和集群等技
术来扩展其容量和性能。
如图4-3、4-4所示:
图4-3数据存储为csv页面
图4-4数据存储为MySQL页面
15
湖南商务职业技术学院毕业设计
4.3编程实现
创建一个数据库,数据库在这里命名为网上厨房(wangshangchufang),
设置编码格式为utf-8,不然中文会显示不出来。如图4-5所示:
图4-5创建数据库
创建一个数据表,数据表在这里命名为wangshang,设置编码格式为utf-8,
不然中文会显示不出来。在这里设置字段和字符,字段字符为:菜名(varchar)、
作者(varchar)、评论量(int)、收藏量(int)、时令(varchar)等,要
使用刚刚创建的库名,不然表会创建不成功。如图4-6所示:
图4-6使用数据库与创建数据表
16
湖南商务职业技术学院毕业设计
在刚刚的wangshang数据表中右击打开导入向导,把caipu.csv文件的数
据都导入到wangshang中。如图4-7所示:
图4-7导入数据表
最后,验证数据是否在wangshang表中,输入查询的语句,如下图所示:
17
湖南商务职业技术学院毕业设计
5数据统计与分析
5.1数据准备
导入需要的库,使用pandas库加载数据,“pd.read_csv”语句查询文件,
并显示前10条的数据,如图5-1所示。
图5-1数据准备页面
5.2数据展示
5.2.1依据时令的评论收藏进行统计
导入所需要的相关库,按照时令季节分组,收集评论,用统计好的数据绘
制散点图,然后对散点图进行参数设置,代码如下:
importpandasaspd#导入所需要的库
importmatplotlib.pyplotasplt
plt.rcParams['font.sans-serif']=['SimHei']#显示中文
plt.rcParams['axes.unicode_minus']=False#正常显示负号
data=
18
湖南商务职业技术学院毕业设计
pd.read_csv(r'C:\Users\86199\Desktop\caipu.csv',encoding='utf-8')
print(data.head(10))
#可视化,散点图:
importplotly.expressaspx
data.head()
data[['praise','collect']]=data[['praise','collect']].astype(int)
#px.scatter(data,x='praise',y='collect',color='season')
fig=px.scatter(data,#设置散点图的参数
y="praise",
x="collect",
color="season",
facet_col='season',
facet_col_wrap=2,
log_x=True,
log_y=True,
width=700,
#trendline='ols',
color_discrete_sequence=px.colors.qualitative.D3,
template='seaborn',
opacity=0.3,
)
fig.update_traces(mode='markers',marker_line_width=1,marker_size=5)
fig.update_layout(title='不同时令的观看与收藏',yaxis_zeroline=False,
xaxis_zeroline=False)
fig.show()
然后就得到了一张由时令评论收藏统计后的可视化散点图,在这张图中大
家可以看到许多的信息,这些信息可以在评论量里面得到大众客户的口味,如
图5-2所示:
19
湖南商务职业技术学院毕业设计
图5-2散点图数据展示页面
在图5-2中的数据可以看出来,不同时令季节的评论量和收藏量。通过进
一步分析这些散点图的趋势和模式,可以洞察大众群体的口味偏好和变化,
sprint(春季)时令和autumn(秋季)时令菜系数据的评论量10条以下的很
多,收藏量也比较低。summer(夏季)时令和winnter(冬季)时令菜系数据
较为稳定。散点图位置或密度发生的变化,这反映了大众口味或流行趋势的变
化。
散点图是一个强大的图,帮助大众直观的理解不同时令季节的评论量和收
藏量之间的关系,以及关系如何反映大众群体的口味爱好和需求。这些信息对
于餐饮从业者、市场分析师和消费者来说都是非常宝贵的。
5.2.2依据时令的季节进行统计
导入所需要的相关库,收集各个时令季节的菜品,对菜名进行一个统计,
然后用统计好的数据绘制饼图,对饼图进行参数设置,代码如下:
#绘制饼图:
frompyecharts.chartsimportPie
20
湖南商务职业技术学院毕业设计
pie=data.groupby('season')['collect'].sum()#季节(season)
pie=pie/pie.sum()
pie=pie.reset_index()
fig=px.pie(pie,values='collect',names='season',title='时令季节的
占比')
fig.show()
然后就得到了一张由时令季节统计后的可视化饼图,如图5-3所示:
图5-3饼图数据展示页面
在图5-3中的数据可以看出来,时令季节的占比情况。其中summer(夏季)
时令占比为37.9%,winner(冬季)时令占比为30.4%,autumn(秋季)时令占
比为21.2%,sprint(春季)时令占比为10.6%。summer(夏季)时令菜系数量
最多,这主要得益于夏季气温高,光照充足,适宜各种蔬菜和水果的生长。除
了各种蔬菜和水果,还有干货可供选择,富含各种营养成分,可以满足人们在
夏季对营养的需求。summer(夏季)时令是生产各种美食的好季节。
除summer(夏季)时令外,winner(冬季)时令菜系数量位居第二。winner
(冬季)时令菜系数量虽然不如summer(夏季)时令菜系丰富,但仍然可以根
据口味和喜好来选择各种新鲜的食材,注意合理的搭配和烹饪方法,就可以制
作各种美味的冬季菜肴。
autumn(秋季)时令菜系数量位于第三。秋季虽然是一个收获的季节,但
21
湖南商务职业技术学院毕业设计
菜系数量不如夏季和冬季那么丰富。sprint(春季)时令菜系数量较少,因为
春季是一个大自然复苏的季节,是一个新的开始。
5.2.3各个时令最火热的菜品进行统计和分析
导入所需要的相关库,收集各个时令季节的菜品,对每个时令最火热的菜
式进行一个统计,然后用统计好的数据绘制条形图,代码如下:
#绘制条形图
frompyecharts.chartsimportBar
popular=data.groupby('season').apply(lambda
df:df[df['collect']==df['collect'].max()])
fig=px.bar(popular,
y="title",x=['praise','collect'],
color="season",
text_auto='.3s',
#height=1000,
#width=2000,
color_discrete_sequence=px.colors.qualitative.D3,
template='seaborn'
)
fig.update_layout(
title_text="不同时令的最火热菜式",#标题
title_x=0.5,#将标题居中
title_font=dict(size=30)
)
fig.show(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南长沙市天心区2026-2027学年八年级上学期学科学业质量调研检测英语试卷(含解析)
- 2026下半年初中化学教资面试结构化问答题库
- 2026年高校化学与环境学院《环境化学》专项训练试卷
- T/CI 806-2024压缩机用YE3系列三相异步电动机
- 2026年国企职员招聘《人力资源管理》专业考试全真模拟试卷
- 2026年事业单位招聘《化学分析》专业知识专项训练试卷
- 2026年教师资格证《中学教育》模拟试题及答案
- 2026反刍动物饲料配方优化与营养需求研究专题报告
- 2026年中学数学教师《数学教育心理学》全真模拟试卷
- 2026年造价工程师《安装工程》专项训练试卷(含答案)
- 森林消防员初级理论知识考试大纲及模拟题
- 《音响设备原理与维修》课件-第五章 功率放大器
- 卫生院安全生产责任清单
- 旋翼机的飞行原理
- 《医疗机构医疗质量安全专项整治行动方案》解读课件
- 律师事务所业务紧急预案管理制度
- 学堂在线 英文科技论文写作与学术报告 期末考试答案
- 《糖尿病治疗新进展》课件
- 《铁路机车运用管理规则》
- DB45T 1625-2024 地质灾害危险性评估规程
- 家装园林设计合同范例
评论
0/150
提交评论