版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
目錄
1引言1
1.1畢業(yè)設(shè)計背景1
1.2開發(fā)環(huán)境與工具1
1.2.1Python簡介1
1.2.2MYSQL簡介2
1.2.3Jypyternotebook簡介2
1.2.4Python第三方庫簡介3
2需求分析3
2.1可行性需求分析3
2.2采集目標(biāo)功能分析4
2.3關(guān)鍵技術(shù)分析4
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)4
2.3.2文件存取技術(shù)5
2.3.3可視化技術(shù)5
3數(shù)據(jù)采集6
3.1采集頁面分析6
3.2字段分析9
3.3編程實現(xiàn)11
4數(shù)據(jù)清洗與處理13
4.1數(shù)據(jù)清洗13
4.2數(shù)據(jù)存儲15
4.3編程實現(xiàn)16
5數(shù)據(jù)統(tǒng)計與分析19
5.1數(shù)據(jù)準(zhǔn)備19
5.2數(shù)據(jù)展示22
5.2.1根據(jù)菜品名稱進行分析22
5.2.2根據(jù)葷菜種類進行統(tǒng)計23
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2.3根據(jù)廚房調(diào)料種類進行頻率統(tǒng)計24
5.3綜述24
6小結(jié)25
參考資料27
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
基于Python的美食城網(wǎng)數(shù)據(jù)采集與分析
1引言
在這個高速發(fā)展的時代,數(shù)據(jù)已經(jīng)成為了數(shù)字時代的重要戰(zhàn)略資源。通過
利用大數(shù)據(jù),我們可以更深入地了解并利用底層數(shù)據(jù),而這些數(shù)據(jù)往往被傳統(tǒng)
的數(shù)據(jù)挖掘和處理方式所忽略。由于關(guān)系型數(shù)據(jù)庫引擎不能有效地處理復(fù)雜的、
具有高度時延性和規(guī)模性的數(shù)據(jù),因此,采用大規(guī)模數(shù)據(jù)分析技術(shù)成為了必不
可少的。
1.1畢業(yè)設(shè)計背景
不管是對于家庭還是餐館來說,了解人們平時的飲食習(xí)慣和愛好的菜品就
至關(guān)重要,這不僅僅可以給餐館帶來更多的收入,也可以讓每個家庭的一日三
餐吃得更有韻味。中國有著悠久的歷史和廣闊的國土,這些造就了豐富且極具
地域特色的飲食文化。由于每個地區(qū)氣候、風(fēng)俗習(xí)慣和物產(chǎn)的不同,從古至今,
中國餐飲文化就形成了大量不同的菜系,最終形成了魯、川、粵、閩、浙、湘、
徽這八大菜系。中國傳統(tǒng)飲食文化中,“藥膳同功”一直被視為一種重要的養(yǎng)
生方式,它強調(diào)利用食材原料的藥用價值,精心烹制出各種美味佳肴,以期望
能夠有效預(yù)防和治療各種疾病。
涉及到菜品的信息有很多,我們通過對網(wǎng)頁進行解析和數(shù)據(jù)爬取,從而獲
得我們所需要的菜品及其制作方式。
我的畢業(yè)設(shè)計就是針對美食城網(wǎng)站的菜品和制作方式爬取,對其進行處理,
分析,然后可視化。大量的數(shù)據(jù)經(jīng)過清洗加分析后,我們更好的了解平時大眾
愛好的口味和菜類。所以我的畢業(yè)設(shè)計部分包含數(shù)據(jù)爬取、清洗處理、儲存、
可視化。
1.2開發(fā)環(huán)境與工具
1.2.1Python簡介
Python本義是“蟒蛇”,在1989年的圣誕節(jié),是Guido(Guidovan
Rossum)為了解悶開發(fā)出的一個新的腳本程序。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
ABC語言擁有很強的功能,它在設(shè)計上就是為了給非專業(yè)程序員服務(wù)的,而
Python語言就是以ABC語言為基礎(chǔ)的教學(xué)語言,但是很遺憾的是,ABC語言并
沒有被廣泛地使用,Guido也對這一現(xiàn)象進行了分析,認為這很有可能是因為
ABC語言的非開放性造成的。
在編程語言發(fā)展至今,Python的排名已經(jīng)與老牌的C語言和JAVA語言不相
上下,它也逐漸走進非IT行業(yè)工作者的視野內(nèi)。由于python的設(shè)計哲學(xué)是非
常簡單、明確、優(yōu)雅的,也導(dǎo)致如今網(wǎng)絡(luò)上流傳著“人生苦短,我用Python”
的說法。Python語言上手十分地簡單易懂,其語法像自然語言,對于非專業(yè)人
士來說可以說是選擇其成本最低。
由于其這些特性,在1991年第一個公開發(fā)行版問世之后,Python便得到
了程序員們的廣泛歡迎和喜愛,它的使用率呈直線性增長。從2004年開始,
Python的使用率迅速上升。到2010年,Python成為TIOBE2010年度語言冠軍。
在2017IEEESpectrum發(fā)布的2017年度編程排行榜中,Python獲得第一名。
大量的數(shù)據(jù)表明python已經(jīng)成為了一門被人們廣泛使用的高級編程語言,
并且易學(xué),第三方庫足夠豐富、并且免費開源、支持跨多平臺且可移植性比較
強。
1.2.2MYSQL簡介
計算機最開始是用于各國戰(zhàn)爭中用來破譯個計算敵軍密碼的工具,后來發(fā)
展到需要計算一些實驗中的數(shù)據(jù)和公式。在計算中會產(chǎn)生大量的實驗數(shù)據(jù),后
面人們把每個數(shù)據(jù)按一定的順序存到硬盤中并按照進行排序,這種一定結(jié)構(gòu)存
入數(shù)據(jù)的容器,人們將之稱為數(shù)據(jù)庫。
數(shù)據(jù)庫,又叫數(shù)據(jù)管理系統(tǒng),是存儲電子文件的處所,也可當(dāng)做電子化的
文件柜,用戶可以對文件中的資料運行新增、查詢、更新、刪除等操作。
MYSQL數(shù)據(jù)庫圖表是一個小海豚,其象征了數(shù)據(jù)庫讀取,存取速度和優(yōu)秀準(zhǔn)
確的含義,其不僅簡單高效安全,還可和大量主流計算機語言結(jié)合,這也體現(xiàn)
了MYSQL數(shù)據(jù)庫的簡單,并且這也是一個免費開源,深受普通中小企業(yè)歡迎。
1.2.3Jypyternotebook簡介
Jupyternotebook是基于網(wǎng)頁的交互計算的應(yīng)用程度,可用于全過程計算:
開發(fā),文檔編寫、運行代碼和展示結(jié)果。能夠通過網(wǎng)頁的形式打開,能夠直接
在網(wǎng)頁的頁面中編寫代碼并運行,而且會在代碼塊下顯示運行結(jié)果??芍^是一
枝獨秀。它在大數(shù)據(jù)方面應(yīng)用非常廣泛,特別是用于數(shù)據(jù)清洗和處理,數(shù)據(jù)可
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
視化和數(shù)據(jù)挖掘方面也是相當(dāng)?shù)姆奖憧旖荨?/p>
1.2.4Python第三方庫簡介
Scrapy:用Python實現(xiàn)的一個為了爬取網(wǎng)絡(luò)數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)編寫的
應(yīng)用框架。
Re:包含的正則表達式的字符串創(chuàng)建模式對象,有多種字符串匹配方法。
Csv:是python自帶的模塊,可以讀取csv文件和將數(shù)據(jù)存入csv表格中。
Pandas:是python的核心數(shù)據(jù)分析支持庫,一款非常強大、非常靈活、并
且可以支持任何語言的開源數(shù)據(jù)分析工具。
Pyecharts:是一個用來產(chǎn)生Echarts圖的庫.因為Echarts所產(chǎn)生的圖形
具有很好的視覺效果,所以pycharts被設(shè)計成與Python相銜接,便于在Python
中直接利用數(shù)據(jù)來創(chuàng)建圖表。
2需求分析
2.1可行性需求分析
1、技術(shù)可行性
python編程語言是一門通俗易懂,動態(tài)地面向?qū)ο蟮挠嬎銠C編程語言,在
這次項目中,將使用python進行數(shù)據(jù)的獲取,然后通過數(shù)據(jù)清洗對數(shù)據(jù)進行預(yù)
處理,通過數(shù)據(jù)可視化將我們爬取的數(shù)據(jù)進行具體的體現(xiàn)。
由于美食城網(wǎng)站是靜態(tài)的,所以我們只需要模擬瀏覽器的真實請求,構(gòu)造
請求消息,然后發(fā)送人為構(gòu)造的請求信息,獲取網(wǎng)站響應(yīng)的網(wǎng)頁源代碼,并進
行網(wǎng)站源代碼進行解析、清洗,找到自己想要的數(shù)據(jù)并保存就行了。在后續(xù)的
數(shù)據(jù)預(yù)處理和可視化中再進行調(diào)用。最后我們會將準(zhǔn)確的數(shù)據(jù)存入MySQL數(shù)據(jù)
庫中作持久化儲存。
以上為此次項目的技術(shù)可行性,我也將在后續(xù)的工作中將所有的步驟實現(xiàn)
到位,保證數(shù)據(jù)的準(zhǔn)確性和安全性。
2、項目可行性
中國是一個餐飲文化大國,長期以來在某一地區(qū)由于地理環(huán)境、氣候物產(chǎn)、
文化傳統(tǒng)以及民族習(xí)俗等因素的影響,稱為菜系。而不同的菜系和口味也決定
了東西南北的口味差異和不同的飲食習(xí)慣。快速了解人們平時的吃得比較多的
菜品名稱和肉類、以及用的比較多調(diào)料,對于餐廳和不同家庭的快速找到自己
的喜好菜品至關(guān)重要,也可以讓別人更好地去了解到什么樣的葷菜是人們最常
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
吃的,從而加快餐館招攬生意以及市場的流通,還能夠讓我們了解更多的飲食
文化,豐富我們對于美食的認識。
2.2采集目標(biāo)功能分析
本畢業(yè)設(shè)計的數(shù)據(jù)集來源是美食城網(wǎng)站,是通過python爬取美食城網(wǎng)站的
所有美食及其美食制作方式的信息。數(shù)據(jù)清洗后的數(shù)據(jù)一共有3211條數(shù)據(jù),在
爬取完成后反復(fù)確認了數(shù)據(jù)的準(zhǔn)確性,驗證并確認了爬取數(shù)據(jù)是美食城網(wǎng)站的
實時數(shù)據(jù)。
本次爬取了美食城網(wǎng)站的美食名稱及其美食制作方式,在對初步數(shù)據(jù)預(yù)處
理后我們會對這些數(shù)據(jù)進行多方面的分析。比如從菜品名稱進行分析、查看人
們常吃的葷類、從調(diào)料品進行分析,那么我們就可以知道大眾口味的細類以及
平時炒菜時應(yīng)該加入的調(diào)料。
2.3關(guān)鍵技術(shù)分析
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)
我們平時瀏覽數(shù)據(jù)的時候可以通過敲取或者粘貼復(fù)制的方式去得到我們想
要的數(shù)據(jù)和信息,這僅僅只局限于少量數(shù)據(jù),但是對于一個網(wǎng)站來說數(shù)據(jù)量都
是非常恐怖的,那我們就沒有那么多的時間和精力去獲得和篩選我們的想要得
到的信息和數(shù)據(jù)。這個時候通過網(wǎng)絡(luò)爬蟲手段自動爬取我們想要的數(shù)據(jù),然后
對其進行篩選和分析。
根據(jù)其體系結(jié)構(gòu)及實現(xiàn)技術(shù),爬蟲技術(shù)可以將其劃分為:1、通用爬蟲;2、
聚焦爬蟲;3、增量爬蟲;4、深度爬蟲。事實上,網(wǎng)絡(luò)爬蟲系統(tǒng)通常是由多個
爬蟲技術(shù)組合而成的。。
通用網(wǎng)絡(luò)爬蟲:又叫全網(wǎng)爬蟲,通用網(wǎng)絡(luò)爬蟲爬取的資源來自于全互聯(lián)網(wǎng)。
對于此類爬蟲來說,其爬取性能要求非常高,這種爬行工具主要是在大型的搜
索引擎上使用,具有很高的實用價值。
聚焦網(wǎng)絡(luò)爬蟲:聚焦網(wǎng)絡(luò)爬蟲又被稱為主題網(wǎng)絡(luò)爬蟲,它指的是一種對預(yù)
定好的主題有選擇性地進行網(wǎng)頁爬取的一種爬蟲。聚焦網(wǎng)絡(luò)爬蟲與通用網(wǎng)絡(luò)爬
蟲不同的地方在于,它將目標(biāo)資源定位在全互聯(lián)網(wǎng)中,它是將爬取的目標(biāo)網(wǎng)頁
定位在與主題有關(guān)的頁面中,這樣就可以極大地節(jié)省爬蟲爬取時所需要的服務(wù)
器資源和帶寬資源。
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
增量式網(wǎng)絡(luò)爬蟲通常指的是對已下載的網(wǎng)頁采取增量式更新,并只對新產(chǎn)
生的或者已經(jīng)發(fā)生變化的網(wǎng)頁進行爬行。
深層網(wǎng)絡(luò)爬蟲可以爬取互聯(lián)網(wǎng)中的深層頁面。深層網(wǎng)絡(luò)爬蟲主要有URL列
表、LVS列表、解析器、爬行控制器、LVS控制器、表單分析器、表單處理器、
響應(yīng)分析器等部分構(gòu)成。
2.3.2文件存取技術(shù)
Python內(nèi)置方法,如圖2-1。
圖2-1python內(nèi)置方法圖
數(shù)據(jù)清洗內(nèi)置數(shù)據(jù)存儲方法,如圖2-2。
圖2-2數(shù)據(jù)清洗內(nèi)置方法圖
2.3.3可視化技術(shù)
爬取下來的數(shù)據(jù)先進行預(yù)處理,然后存儲為csv文件,此數(shù)據(jù)集是我們爬
取到的所有數(shù)據(jù)的,那么我們怎樣才能突出我們爬取數(shù)據(jù)的特點呢。
這個時候就到了數(shù)據(jù)可視化技術(shù)的重要性,我們可以通過這項技術(shù)將我們
爬取到的數(shù)據(jù)處理為圖形展現(xiàn)出來,這種表達會更加直觀和突出其特色。讓我
們一眼就可以看到亮點,這就是數(shù)據(jù)可視化技術(shù)。
數(shù)據(jù)可視化技術(shù)對于一組數(shù)據(jù)的分析起到至關(guān)重要的作用。我們只要選擇
適合的圖表來展現(xiàn)數(shù)據(jù)就可以得到大量信息,并且其有很高的性價比,視覺表
現(xiàn),簡單的私有化部署和非常強的可拓展性。這對于大量數(shù)據(jù)的處理是至關(guān)重
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
要的。
數(shù)據(jù)可視化能夠更加輕松地識別異常值,這有助于了解數(shù)據(jù)的表現(xiàn)已經(jīng)其
差異性,使每一個人都能迅速而容易地把數(shù)據(jù)轉(zhuǎn)化成觀察能力。
數(shù)據(jù)可視化的優(yōu)點就是它能改變傳統(tǒng)的管理模式,使數(shù)據(jù)呈現(xiàn)更為及時、
直觀和簡便。同時加深數(shù)據(jù)的針對性和客觀性。我們就針對這一特點,對我們
爬取所獲得的數(shù)據(jù)用python第三方庫pyecharts去進行可視化??梢暬Y(jié)果一
目了然,對數(shù)據(jù)用詞云圖、折線圖和條形圖表現(xiàn)出來,從而得出結(jié)論。
3數(shù)據(jù)采集
3.1采集頁面分析
我們通過谷歌瀏覽器搜索美食城官方網(wǎng)站,找到美食城網(wǎng)站其URL為:
,如圖3-1。
圖3-1數(shù)據(jù)網(wǎng)址頁面圖
在網(wǎng)站主頁找到菜譜頁面的家常菜,這時候URL變?yōu)椋?/p>
/caipu/jiachang/,如圖3-2。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-2數(shù)據(jù)分頁頁面1圖
點擊頁面下方的分頁按鈕切換至第2頁和第3頁,同時觀察URL,可以發(fā)現(xiàn)
/caipu/jiachang/2.html變?yōu)?/p>
/caipu/jiachang/3.html,如圖3-3,圖3-4。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-3數(shù)據(jù)分頁頁面2圖
圖3-4數(shù)據(jù)分頁頁面3圖
按F12調(diào)出開發(fā)者模式,刷新頁面,點擊Netbook。通過全局搜索工具來定
位到我們所需要的數(shù)據(jù)位置,然后點擊開發(fā)者工具上的Headers字段,來分析
這是個什么請求,發(fā)現(xiàn)這是個GET請求,如圖3-5。翻到頁面底部,找到
User-Agent,如圖3-6。
圖3-5分析數(shù)據(jù)請求圖
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-6http的請求頭User-Agent圖
3.2字段分析
首先找到網(wǎng)站需要被爬取的數(shù)據(jù)字段:美食名稱及其制作方式。由于初步
得出的數(shù)據(jù)會有重復(fù)現(xiàn)象,如菜名和制作方式字段里面同時出現(xiàn)“紅三魚”這
個字段,所以首先從制作方式中統(tǒng)計調(diào)料的詞頻,再將除了菜名以外的字段刪
除后來統(tǒng)計葷菜詞頻數(shù)據(jù),由于制作方式不會重復(fù)出現(xiàn)同一種廚房調(diào)料,而一
個菜名也不會出現(xiàn)相同的葷菜名字,由此也保證了我們的數(shù)據(jù)準(zhǔn)確度。
進入一個美食的詳情頁面,拿“醬香紅三魚”為例。然后進去開發(fā)者工具
頁面,點擊檢查按鈕或者按住ctrl+shift+c點擊菜名“醬香紅三魚”如圖3-7。
可以看到菜名為單列表,那么只需要右擊此列表找到復(fù)制(copy)然后點擊復(fù)
制完整的xpath(copyfullxpath)即可,如圖3-8。
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-7菜名字段分析圖
圖3-8菜名字段的xpath獲取圖
同理,再找到需要爬取的美食制作方式字段的列表,可以發(fā)現(xiàn)美食制作方
式是多個列表組成的列表項,就要找到這組標(biāo)簽的主標(biāo)簽(包含所需內(nèi)容的全
部標(biāo)簽)。對其復(fù)制完整的xpath。如圖3-9,3-10。
圖3-9制作方式字段分析圖
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-10制作方式字段xpath獲取圖
復(fù)制出來的xpath后續(xù)只需要在運行代碼中使用xpath解析就可以爬取到
想要的菜名和制作方式,如圖3-11。
圖3-11將獲取的xpath進行解析圖
3.3編程實現(xiàn)
導(dǎo)入所需庫,如圖3-12。
圖3-12導(dǎo)入所需庫頁面圖
設(shè)置請求頭,偽裝成瀏覽器訪問服務(wù)器,如圖3-13。
圖3-13請求頭內(nèi)容頁面圖
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
代碼實現(xiàn)如下:
importscrapy
importre
fromscrapy.selectorimportSelector
from..itemsimportFoodsItem
classFoodsSpiderSpider(scrapy.Spider):
name="foods_spider"
allowed_domains=[""]
defstart_requests(self):
cuisines={
"chuancai":45,
"xiangcai":7,
"huicai":2,
"lucaicaipu":8,
"mincaicaipu":5,
"sucaicaipu":6,
"zhecaicaipu":12,
"yuecaicaipu":22,
"jingcaicaipu":5,
"dongbeicaipu":7,
"xibeicai":2,
"qingzhencaipu":5
}
base_url="/caipu/"
#遍歷菜系,第一頁為index.html,往后依次為page.html
forcuisine,pagesincuisines.items():
#遍歷頁面
forpageinrange(1,pages+1):
ifpage==1:
yieldscrapy.Request(
url=base_url+cuisine+"/index.html",
callback=self.parse_foods_list
)
else:
yieldscrapy.Request(
url=base_url+cuisine+"/"+str(page)+".html",
callback=self.parse_foods_list
)
defparse_foods_list(self,response):
sel=Selector(response)
foods_list=sel.xpath("/html/body/div/div[2]/div[1]/div[3]/div")
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
forfoodinfoods_list:
details_link=food.xpath("./div[2]/h4/a/@href").extract_first()
yieldscrapy.Request(
url=details_link,
callback=self.parse_foods_method
)
defparse_foods_method(self,response):
sel=Selector(response)
name=sel.xpath("/html/body/div/div[2]/div[1]/div[2]/h1/text()").extract_first()
content=sel.xpath("/html/body/div/div[2]/div[1]/div[2]/div[2]//text()").extract()
method=""
fortextincontent:
method+=text
method=method.replace("上一頁12下一頁查看更多","").replace("上一頁123
下一頁查看更多","").strip()
method=re.sub(r"[\n\r]","",method)
food_item=FoodsItem()
food_item["name"]=name
food_item["method"]=method
yieldfood_item
4數(shù)據(jù)清洗與處理
數(shù)據(jù)清洗是一種在數(shù)據(jù)文件中發(fā)現(xiàn)并改正可辨識錯誤的過程,它包括數(shù)據(jù)
一致性的檢查,無效值和缺失值的處理等。在獲得龐大數(shù)據(jù)后,我們便獲得了
初始數(shù)據(jù),對這部分?jǐn)?shù)據(jù)進行清洗檢查得出的最終數(shù)據(jù)才能保證數(shù)據(jù)的真實性
和權(quán)威性。
4.1數(shù)據(jù)清洗
使用utf-8的字符編碼讀取名為data的Excel文件,如圖4-1。
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-1數(shù)據(jù)清洗準(zhǔn)備頁面圖
對數(shù)據(jù)進行清點然后排查數(shù)據(jù)有無空值,無空值則顯示為“False”。通過
圖4-2查詢空值數(shù)據(jù)發(fā)現(xiàn),沒有數(shù)據(jù)空值錯位等情況。
圖4-2查看數(shù)據(jù)空值圖
通過觀察圖4-1可知:我們需要對數(shù)字列進行去除,得到一個有菜品名稱
和做法的Excel文件,如圖4-3。
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-3刪除數(shù)字列圖
4.2數(shù)據(jù)存儲
我們在存儲數(shù)據(jù)時,經(jīng)常使用的技術(shù)有:txt、excel、json、csv等。
這些存儲技術(shù)所能保存的數(shù)據(jù)量都是很小的,如果數(shù)據(jù)量比較大,就需要用到
關(guān)系數(shù)據(jù)庫mysql和oracle,以及非關(guān)系型數(shù)據(jù)庫MongoDB和Redis等。
本項目用到的是xlsx、MYSQL,如圖4-4,圖4-5。
圖4-4數(shù)據(jù)存儲為excel圖
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-5數(shù)據(jù)存儲為MYSQL圖
4.3編程實現(xiàn)
使用utf-8的字符文件編碼對清洗后的名為data的Excel進行讀取,如圖
4-6。
圖4-6源數(shù)據(jù)頁面圖
創(chuàng)建數(shù)據(jù)庫“hh”,如圖4-7,數(shù)據(jù)庫“hh”在NavicatPremium12中的展
示頁面,如圖4-8。
圖4-7創(chuàng)建數(shù)據(jù)庫圖
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-8數(shù)據(jù)庫展示圖
設(shè)置庫的字符集,否則顯示不出中文,如圖4-9。
圖4-9修改數(shù)據(jù)庫的字符集圖
創(chuàng)建數(shù)據(jù)表,修改字符集,否則顯示不出中文,如圖4-10,圖4-11。
圖4-10修改表的字符集圖
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-11創(chuàng)建表并命名為美食圖
導(dǎo)入本地data.excel表格數(shù)據(jù),如圖4-12,驗證存入數(shù)據(jù)是否成功,如圖
4-13。
圖4-12導(dǎo)入數(shù)據(jù)圖
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-13mysql美食表展示圖
5數(shù)據(jù)統(tǒng)計與分析
5.1數(shù)據(jù)準(zhǔn)備
導(dǎo)入相關(guān)庫,使用pandas加載源數(shù)據(jù),顯示字體為默認如圖5-1。
圖5-1數(shù)據(jù)準(zhǔn)備頁面圖
設(shè)置默認字體,正常顯示負數(shù)、符號如圖5-2。
圖5-2數(shù)據(jù)符號、負數(shù)處理圖
清洗后菜名字段,做法展示,如圖5-3。
19
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-3菜名及其做法數(shù)據(jù)準(zhǔn)備圖
讀取處理后的數(shù)據(jù),并且繪制出關(guān)于菜品名稱的詞云圖,如圖5-4。
圖5-4詞云圖的繪制圖
如圖我們只需要更改like函數(shù)里面的字段就可以得到文件字段出處及其
出現(xiàn)次數(shù)。在獲取葷菜數(shù)據(jù)時需要對代碼進行修改,只查詢美食名稱里面的葷
菜詞頻。代碼實現(xiàn),如圖5-5。
20
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-5數(shù)據(jù)統(tǒng)計實現(xiàn)圖
通過mysql的like函數(shù)查詢存在響應(yīng)字段的逐條數(shù)據(jù),由于mysql自帶統(tǒng)
計功能,這樣也可以更好地得到詞頻次數(shù),這便是得出的最終數(shù)據(jù),如圖5-6,
圖5-7。
圖5-6mysql葷菜字段查詢
圖5-7mysql調(diào)料字段查詢圖
得出字段詞頻數(shù)據(jù)如圖5-8,圖5-9。
圖5-8調(diào)料數(shù)據(jù)準(zhǔn)備圖
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-9葷菜數(shù)據(jù)準(zhǔn)備圖
5.2數(shù)據(jù)展示
5.2.1根據(jù)菜品名稱進行分析
圖5-10數(shù)據(jù)展示頁面圖
將菜名字段數(shù)據(jù)匯總,生成字符串,按照詞頻生成詞云,如圖5-10中可以
看出肉,排骨出現(xiàn)頻率最高,其次是牛肉,魚土豆次之。
在結(jié)果圖可以看到一些生活中常見的菜品。如麻辣燙,麻辣兔腿,麻辣豆
腐。麻辣燙最顯著的為益陽麻辣燙,在全國各地都開著門店,而麻辣兔腿則是
特別容易讓愛吃辣的朋友上癮,可謂是又麻又辣,特別容易上癮,并且比起麻
辣兔頭,兔腿的肉更加肥美,對于一些想要擺地攤的朋友可謂是相當(dāng)大的商業(yè)
價值。麻辣豆腐則是飯店的一款的熱銷產(chǎn)品,其制作難度可謂是相當(dāng)之大,并
且想要炒好這道菜的味道更是難上加難,因為豆腐是一款特別難入味的食材,
想要完美嵌入那個味道是需要大量的經(jīng)驗和嘗試的。
其次相對比較明顯的則是土豆泥,干煸土豆條,川味土豆燒排骨和麻辣土
豆片,雖然說是同一種食材,但是不同的做法其不同的味覺體驗感也是天差地
別。土豆泥是一道特別健康的菜,味道較淡,但是卻能突出土豆的清香和顆粒
感,可謂是舌尖上的美味。而麻辣土豆片則是在調(diào)料上下文章,將土豆切片,
然后讓提前配好的調(diào)料充分浸入土豆內(nèi)部,讓每一片土豆都麻麻辣辣,多姿多
彩。土豆燒排骨則是比較類似紅燒肉,用紅燒肉的做法,然后加入少許土豆,
土豆本就高淀粉,在加入糖分之后,只要控制好量就可以讓他做好甜而不膩,
22
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
不過這道對于糖尿病患者就得勸退了,畢竟健康才是最重要的。而干煸土豆條
在我們生活中,也是一道比較簡單的家常菜,做法也非常簡單,對于不喜歡炒
菜的朋友,可以快速地出餐以解決午晚飯。
比較顯眼的還有饞嘴三文魚和花梔綿掌則很少出現(xiàn)在大眾眼中,更多地是
流行于高檔奢侈餐廳。三文魚作為日式文化的主要食材,但是這道饞嘴三文魚
卻依靠獨特的滋味誕生了許多死忠粉。但是其也需要大量的努力和調(diào)整其味道
和手法。
5.2.2根據(jù)葷菜種類進行統(tǒng)計
圖5-11數(shù)據(jù)展示頁面圖
從圖5-11可以看出,這些肉類雖然都是我們平時常見的葷菜原材料,但是
其中雞和魚占據(jù)著主體作用,當(dāng)然這肯定也是有其依據(jù)的。
豬肉因為18,19年豬瘟的影響,導(dǎo)致豬肉價格起伏很大,這也導(dǎo)致雞肉慢
慢替代了豬肉巔峰的地位;魚肉則是比較穩(wěn)定的一道葷菜,由于其種類的繁多,
數(shù)量基數(shù)大,做法和味道都讓人久久難以忘懷,以及其優(yōu)質(zhì)的蛋白質(zhì)含量,導(dǎo)
致其一直霸榜人們生活肉類的前三。但是數(shù)據(jù)量最少的兔,蟹和臘肉則是耐人
尋味的三款食材,兔類在不管是麻辣兔頭還是麻辣兔腿都是有著非常多的死忠
粉,但是由于其做法的單調(diào)以及對其可愛形象的憐憫也造成了這個數(shù)據(jù)的原因;
蟹的話則是常年出現(xiàn)于高檔餐桌上,不過由于其處理比較麻煩,并且主吃蟹黃
和蟹腿,而每一只螃蟹的肉卻非常少,可謂是“一蟹難求”;而臘肉則是作為
一個固定味道出現(xiàn)的,由于臘肉在腌制過程中需要大量的鹽,需要控制多少量
23
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
全憑經(jīng)驗,少了容易臭,多了容易咸,這也致使臘肉“一塊肉一碗飯的由來”。
5.2.3根據(jù)廚房調(diào)料種類進行頻率統(tǒng)計
圖5-12數(shù)據(jù)展示頁面圖
從圖5-12中得知油鹽作為廚房必需品以超高出現(xiàn)頻率出線。
古人云:“生活就是“柴米油鹽”。”柴用來生火維持萬家燈火通明;米
來維持人們生活能量所需;而油則是用來潤鍋,防止菜品粘鍋和糊鍋;鹽則是
用來調(diào)節(jié)菜品味道,讓每道菜都有滋有味,也可以維持人體正常無機鹽的攝入;
然后就是并列第三的味精和醬油,這兩好哥們可以說經(jīng)常出現(xiàn)在肉類中,只要
有肉基本都是這兩一起出馬,不管是醬油對肉類色澤的調(diào)整還是味精對湯汁的
調(diào)味,都可謂是一絕;醋則是更多的出現(xiàn)在面類菜品的調(diào)味,因為主要占據(jù)的
類型比
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考全國卷思想政治考試卷題庫(含答案解析)
- 南昌市2024江西南昌市市級機關(guān)事業(yè)單位資產(chǎn)管理服務(wù)中心招聘2人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 網(wǎng)頁設(shè)計面試題及答案解析
- 教育專家招聘面試高效提問與答案解析
- 游戲開發(fā)崗位面試問題解析
- 橡膠廠長面試題及答案
- 2025年私家車共享服務(wù)平臺建設(shè)可行性研究報告
- 2025年城市水資源管理系統(tǒng)創(chuàng)新項目可行性研究報告
- 2025年智能化倉儲管理系統(tǒng)開發(fā)可行性研究報告
- 2025年全鏈條食品追溯系統(tǒng)項目可行性研究報告
- 傳染病報告卡
- 句法成分課件(共18張)統(tǒng)編版語文八年級上冊
- 2023版中國近現(xiàn)代史綱要課件:07第七專題 星星之火可以燎原
- 通知書產(chǎn)品升級通知怎么寫
- 氣管插管術(shù) 氣管插管術(shù)
- 大學(xué)《實驗診斷學(xué)》實驗八:病例分析培訓(xùn)課件
- GB/T 28400-2012釹鎂合金
- 多維閱讀第8級Moon Mouse 明星老鼠的秘密
- 骨髓增生異常綜合癥課件整理
- 心肌梗死院前急救課件
- 雙升基本知識-信號
評論
0/150
提交評論