![基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第1頁(yè)](http://file4.renrendoc.com/view12/M0A/32/17/wKhkGWdWOpmAfyraAAHTjoldo_g129.jpg)
![基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第2頁(yè)](http://file4.renrendoc.com/view12/M0A/32/17/wKhkGWdWOpmAfyraAAHTjoldo_g1292.jpg)
![基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第3頁(yè)](http://file4.renrendoc.com/view12/M0A/32/17/wKhkGWdWOpmAfyraAAHTjoldo_g1293.jpg)
![基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第4頁(yè)](http://file4.renrendoc.com/view12/M0A/32/17/wKhkGWdWOpmAfyraAAHTjoldo_g1294.jpg)
![基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第5頁(yè)](http://file4.renrendoc.com/view12/M0A/32/17/wKhkGWdWOpmAfyraAAHTjoldo_g1295.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
目錄
1引言1
1.1畢業(yè)設(shè)計(jì)背景1
1.2開發(fā)環(huán)境與工具2
1.2.1Python簡(jiǎn)介2
1.2.2MySQL簡(jiǎn)介2
1.2.3Jypyternotebook簡(jiǎn)介2
1.2.4Python第三方庫(kù)簡(jiǎn)介3
2需求分析4
2.1可行性需求分析4
2.2采集目標(biāo)功能分析4
2.3關(guān)鍵技術(shù)分析5
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)5
2.3.2文件存取技術(shù)5
2.3.3可視化技術(shù)6
3數(shù)據(jù)采集7
3.1采集頁(yè)面分析7
3.2字段分析8
3.3編程實(shí)現(xiàn)9
4數(shù)據(jù)清洗與處理11
4.1數(shù)據(jù)清洗12
4.2數(shù)據(jù)儲(chǔ)存13
4.3編程實(shí)現(xiàn)14
5數(shù)據(jù)統(tǒng)計(jì)與分析15
5.1數(shù)據(jù)準(zhǔn)備15
5.2數(shù)據(jù)展示16
5.2.1依據(jù)菜系進(jìn)行統(tǒng)計(jì)和分析16
5.2.2依據(jù)菜系的平均評(píng)分進(jìn)行統(tǒng)計(jì)和分析16
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.2.3據(jù)菜系用料數(shù)進(jìn)行統(tǒng)計(jì)和分析17
5.2.4依據(jù)川菜用料情況進(jìn)行統(tǒng)計(jì)和分析19
5.3綜述19
6小結(jié)20
參考資料21
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析
1引言
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)的價(jià)值已經(jīng)被越來越多的人所認(rèn)識(shí)和重視。隨著互聯(lián)
網(wǎng)、物聯(lián)網(wǎng)等技術(shù)的不斷發(fā)展,我們每一天都在產(chǎn)生海量的數(shù)據(jù)。這些數(shù)據(jù)包
含了各種信息,可以幫助企業(yè)更好地了解市場(chǎng)需求、優(yōu)化產(chǎn)品設(shè)計(jì)、提高營(yíng)銷
效果等,也可以幫助政府更好地了解民生狀況、提升治理水平、加強(qiáng)安全防范
等。
然而,要想從數(shù)據(jù)中獲取有用的信息并進(jìn)行有效的分析與應(yīng)用,并不是一
件容易的事情。需要運(yùn)用到數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域的專業(yè)知識(shí)和技能。同
時(shí),還需要具備對(duì)數(shù)據(jù)隱私保護(hù)和安全性的高度關(guān)注,以免因數(shù)據(jù)泄露等問題
導(dǎo)致嚴(yán)重后果。
為此,大數(shù)據(jù)時(shí)代需要專業(yè)的人才和技術(shù)支撐,也需要更加完善的法律法
規(guī)與規(guī)范標(biāo)準(zhǔn),以保障數(shù)據(jù)的合法使用和安全保護(hù)。只有這樣,我們才能更好
地利用大數(shù)據(jù)推動(dòng)社會(huì)進(jìn)步和創(chuàng)新發(fā)展。
1.1畢業(yè)設(shè)計(jì)背景
中國(guó)美食文化歷史悠久烹調(diào)技藝精湛,聞名寰宇,在世界上素有“飲食王
國(guó)”之美譽(yù),中國(guó)飲食文化是中國(guó)數(shù)千年?duì)N爛的民族文化遺產(chǎn)的重要組成部分,
也是一種寶貴的旅游資源。美食文化不僅體現(xiàn)在食物上,更能體現(xiàn)在耕作方式
上。從原始時(shí)期的的刀耕火種,到之后封建社會(huì)發(fā)展成精耕細(xì)作。耕作方式、
技術(shù)在不斷進(jìn)步。中國(guó)古代百姓通過摸索自然的規(guī)律,發(fā)明了“二十四節(jié)氣”。
直到現(xiàn)在,影響深遠(yuǎn)。美食的成就源于這些人對(duì)于美食的追求。
我的畢業(yè)設(shè)計(jì)就是爬取中國(guó)八大菜系的美食數(shù)據(jù),對(duì)其進(jìn)行處理,可視化,
然后分析。繁雜的數(shù)據(jù)經(jīng)過清洗加分析后,一目了然的將結(jié)果呈現(xiàn)給大眾,通
過數(shù)據(jù),美食愛好者可以直觀的了解到這八大菜系的美食、配料表以及大眾評(píng)
分標(biāo)準(zhǔn),當(dāng)為了吃什么美食而煩惱時(shí),只要通過此數(shù)據(jù)分析,就可以解決這一
問題,對(duì)于餐飲從業(yè)者來說,可以了解到消費(fèi)者的偏向美食口味,精準(zhǔn)的定位
市場(chǎng),更好的服務(wù)于顧客,將飯店越做越大,生意越做越紅火。所以我的畢業(yè)
設(shè)計(jì)部分包含數(shù)據(jù)爬取、清洗處理、儲(chǔ)存、可視化。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
1.2開發(fā)環(huán)境與工具
1.2.1Python簡(jiǎn)介
Python是由荷蘭人GuidovanRossum于1991年發(fā)明的一種高級(jí)語言,
它能夠讓程序員們使用少量的代碼行數(shù)來完成任務(wù)。本文的主要代碼編輯工具
便是Python,利用Python對(duì)美食網(wǎng)站進(jìn)行爬蟲,通過對(duì)相關(guān)網(wǎng)站進(jìn)行大數(shù)據(jù)分
析,對(duì)照,總結(jié)相應(yīng)的規(guī)律,最終得出科學(xué)可信的結(jié)果。
Python的應(yīng)用非常廣泛,可以用來編寫網(wǎng)頁(yè),游戲,科學(xué)計(jì)算,機(jī)器學(xué)習(xí),
網(wǎng)絡(luò)編程,系統(tǒng)管理等等。它也可以用來編寫腳本,自動(dòng)化工作流程,以及許
多其他的用途。本研究主要功能便是取其中包括編寫腳本,網(wǎng)絡(luò)編程,自動(dòng)化
采集美食網(wǎng)站數(shù)據(jù)功能。通過對(duì)美食網(wǎng)站的函數(shù)式編程,面對(duì)對(duì)象編程,過程
式編程,得出最終有規(guī)律的數(shù)據(jù)結(jié)果提供給相關(guān)行業(yè)進(jìn)行分析。
Python是一種強(qiáng)大的工具,它幫助本研究快速方便地完成任務(wù),幫助本研
究可以用來完成各種各樣的任務(wù),從簡(jiǎn)單的腳本到復(fù)雜的編程。
1.2.2MySQL簡(jiǎn)介
MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它是由美國(guó)甲骨文公司的
DougCutler、DavidMartin和SandraBell三人共同開發(fā)的。MySQL最初是在
1997年,由甲骨文公司的一位工程師TomLee在一個(gè)小型服務(wù)器上開發(fā)出來的。
MySQL的數(shù)據(jù)庫(kù)軟件是由Oracle公司提供的,但它同時(shí)也提供了一種將SQL轉(zhuǎn)
換為在MySQL數(shù)據(jù)庫(kù)中運(yùn)行的Java程序語言。
MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)是一種支持多種數(shù)據(jù)庫(kù)和應(yīng)用程序的開源關(guān)系型數(shù)
據(jù)庫(kù)管理系統(tǒng)。它廣泛地應(yīng)用于計(jì)算機(jī)、互聯(lián)網(wǎng)和電信行業(yè)。其功能是把各種
數(shù)據(jù)表(DataTable)用MySQL來組織,并在不同的程序之間共享數(shù)據(jù)。MySQL
是一個(gè)開源的數(shù)據(jù)庫(kù)管理系統(tǒng),可在Web或桌面上使用,也可用于遠(yuǎn)程服務(wù)器。
它還可用于各種應(yīng)用程序,包括商業(yè)應(yīng)用程序和桌面應(yīng)用程序,例如Web服務(wù)、
電子郵件和其他數(shù)據(jù)庫(kù)。
1.2.3Jypyternotebook簡(jiǎn)介
JupyterNotebook,原名IPythonNotebook,是一種交互式筆記本,可以在
其中編寫和運(yùn)行代碼、制作演示文稿、數(shù)據(jù)可視化,并且可以直接將其分享。
JupyterNotebook可以用于多種編程語言,包括Python、R、Julia、Scala等。
它的界面簡(jiǎn)潔易用,支持Markdown格式的文本編輯,因此非常適合數(shù)據(jù)科學(xué)家、
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
研究人員、教育工作者等使用。
JupyterNotebook的核心是基于Web技術(shù)的交互式計(jì)算環(huán)境——Notebook
界面。用戶可以在Notebook界面中輕松地將代碼、文本和圖形組合在一起,形
成一個(gè)完整的文檔,同時(shí)還能夠方便地進(jìn)行代碼的調(diào)試和實(shí)驗(yàn)。除此之外,
JupyterNotebook還支持多種插件,可以擴(kuò)展其功能,從而更好地滿足用戶的
需求。
總之,JupyterNotebook是一個(gè)功能強(qiáng)大、易于使用、高度靈活的交互式
計(jì)算工具,它正在被越來越多的人所接受和使用,成為數(shù)據(jù)分析、科學(xué)研究、
教育等領(lǐng)域中不可或缺的工具之一。
1.2.4Python第三方庫(kù)簡(jiǎn)介
requests:最友好的網(wǎng)絡(luò)爬蟲功能庫(kù),它提供了便捷的API,可以讓開發(fā)
者更容易地處理請(qǐng)求和響應(yīng),比如設(shè)置代理、認(rèn)證、超時(shí)等。是Python實(shí)現(xiàn)的
簡(jiǎn)單易用的HTTP庫(kù),使用起來比urllib更簡(jiǎn)潔很多,Python第三方庫(kù)在使用
前要先進(jìn)行安裝。
XPath:是一門在XML文檔中查找信息的語言,XPath可用來在XML文檔中
對(duì)元素和屬性進(jìn)行遍歷。
Csv:csv屬于python中的內(nèi)置模塊,是一種常見的文本文件格式。以逗號(hào)
作為字段分隔符,用于存儲(chǔ)和交換數(shù)據(jù)。csv文件易于處理和導(dǎo)入到許多軟件中,
如電子表格、數(shù)據(jù)庫(kù)和編程語言中。
NumPy庫(kù):是Python語言中重要的科學(xué)計(jì)算庫(kù)之一,提供高效的數(shù)組操作
和數(shù)學(xué)函數(shù)。Numpy庫(kù)的使用可以大大提升Python程序的計(jì)算效率和數(shù)據(jù)處理
能力。
pandas:是Python編程語言中用于數(shù)據(jù)分析的開源軟件庫(kù),它提供了高效
的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,使得數(shù)據(jù)清洗和處理變得簡(jiǎn)單易行。
matplotlib:是一種Python的數(shù)據(jù)可視化庫(kù)。matplotlib能夠繪制各種類
型的圖表,如線圖、散點(diǎn)圖、柱狀圖等。
wordcloud、jieba:wordcloud可用于生成詞云圖,jieba則是中文分詞庫(kù),
能夠?qū)⒅形奈谋痉指畛稍~語。這兩個(gè)庫(kù)的結(jié)合可以用于生成中文詞云圖。
pylab:是一個(gè)Python軟件包,用于繪制圖形和數(shù)據(jù)可視化。它結(jié)合了
Matplotlib和NumPy庫(kù)的功能,提供了一個(gè)交互式環(huán)境,它能設(shè)置畫圖讓其能
顯示中文。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
2需求分析
2.1可行性需求分析
1、項(xiàng)目可行性
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來越多的人開始使用美食網(wǎng)站查詢和分享
美食信息。這些網(wǎng)站中包含了大量的美食菜譜、評(píng)價(jià)和圖片等信息,對(duì)于餐飲
從業(yè)者和愛好者們來說都是非常有價(jià)值的資源。因此,爬取美食網(wǎng)站數(shù)據(jù)已成
為許多人關(guān)注的焦點(diǎn)。
所以本畢業(yè)設(shè)計(jì)我們通過采集豆果美食網(wǎng)站內(nèi)的數(shù)據(jù),來分析我國(guó)八大菜
系的信息。我們也將從用料、評(píng)分、用料數(shù)等方面對(duì)其進(jìn)行深度剖析,分析出
有價(jià)值的信息,將其可視化最后的結(jié)果提供給餐飲從業(yè)者和愛好者來實(shí)現(xiàn)商業(yè)
價(jià)值。
2、技術(shù)可行性
美食網(wǎng)站中包含的數(shù)據(jù)量十分龐大,要爬取到數(shù)據(jù)量的同時(shí)又要注意到數(shù)
據(jù)質(zhì)量。Python爬蟲在獲取美食網(wǎng)站數(shù)據(jù)方面具有非常強(qiáng)的可行性,因?yàn)?/p>
Python擁有豐富的網(wǎng)絡(luò)爬蟲庫(kù)和框架,如Scrapy、BeautifulSoup、Selenium
等,這些工具可以幫助我們快速構(gòu)建一個(gè)完整的爬蟲系統(tǒng),極大的提高了工作
效率。保證爬到到重要數(shù)據(jù)量的同時(shí)兼顧到數(shù)據(jù)的質(zhì)量。
通過Python爬蟲,我們可以輕松地從豆果美食網(wǎng)站上獲取菜系、菜系的平
均評(píng)分、菜系用料數(shù)以及川菜的用料等情況。餐飲從業(yè)者能夠?qū)崿F(xiàn)商業(yè)價(jià)值,
美食愛好者能夠?qū)崿F(xiàn)社會(huì)生活價(jià)值,而對(duì)于一個(gè)國(guó)家而言,分析美食數(shù)據(jù)則可
以實(shí)現(xiàn)美食文化價(jià)值。
2.2采集目標(biāo)功能分析
本畢業(yè)設(shè)計(jì)的數(shù)據(jù)集的來源是豆果美食網(wǎng)站,是通過python爬取菜譜里的
中國(guó)八大菜系的信息。數(shù)據(jù)清洗后共799條記錄,爬取完成后盡可能的檢查數(shù)
據(jù)的準(zhǔn)確性,確定爬取出來的數(shù)據(jù)無誤,并且是屬于豆果美食網(wǎng)菜譜的中國(guó)菜
系的信息。
分析豆果美食網(wǎng)站網(wǎng)頁(yè)信息,明確我們需要爬取的菜譜、菜譜鏈接、用料、
評(píng)分、用戶、圖片、菜系等數(shù)據(jù),在對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理后我們會(huì)對(duì)其數(shù)據(jù)
進(jìn)行多個(gè)維度的分析。從菜系對(duì)其進(jìn)行分析,分析出八大菜系中最受歡迎的菜
系,餐飲從業(yè)者為此可以拓展市場(chǎng)。從菜系的評(píng)分對(duì)其進(jìn)行分析,餐飲從業(yè)者
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
能夠依照菜系的平均評(píng)分提高飲食行業(yè)的競(jìng)爭(zhēng)力。從菜系的用料數(shù)對(duì)其進(jìn)行分
析,對(duì)于一個(gè)國(guó)家來說,能夠?qū)崿F(xiàn)美食文化價(jià)值。從川菜的用料情況對(duì)其進(jìn)行
分析,能夠很好的解決美食愛好者健康飲食的問題。
2.3關(guān)鍵技術(shù)分析
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)
隨著人們對(duì)美食的關(guān)注度不斷升高,越來越多的人開始在互聯(lián)網(wǎng)上搜索和
分享各種美食資訊。因此,了解并掌握美食資訊是非常重要的。這也促使我們
考慮是否可以通過網(wǎng)絡(luò)爬蟲技術(shù)來獲取美食網(wǎng)站的數(shù)據(jù),以便更好地滿足人們
對(duì)美食信息的需求。隨著互聯(lián)網(wǎng)的不斷發(fā)展和普及,更多的數(shù)據(jù)被存儲(chǔ)在了網(wǎng)
絡(luò)中。而要獲取這些數(shù)據(jù),傳統(tǒng)的手動(dòng)收集方法已經(jīng)不再適用。網(wǎng)絡(luò)爬蟲技術(shù)
的出現(xiàn),為我們提供了一種高效、快捷的獲取數(shù)據(jù)的途徑。
網(wǎng)絡(luò)爬蟲,也稱為網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人等,是一種自動(dòng)獲取互聯(lián)網(wǎng)信息
的程序。它可以自動(dòng)化地瀏覽互聯(lián)網(wǎng),并按照一定規(guī)則收集有用的數(shù)據(jù)信息,
如網(wǎng)頁(yè)內(nèi)容、圖片、視頻等。與傳統(tǒng)手工采集不同,網(wǎng)絡(luò)爬蟲可以高效、快速
地從海量網(wǎng)頁(yè)中抽取所需信息,大大減少了人力成本。
網(wǎng)絡(luò)爬蟲技術(shù)可以快速地獲取美食網(wǎng)站上的大量數(shù)據(jù)。傳統(tǒng)的手動(dòng)獲取數(shù)
據(jù)方法耗時(shí)費(fèi)力,而網(wǎng)絡(luò)爬蟲技術(shù)可以自動(dòng)化地收集數(shù)據(jù),并且可以在很短的
時(shí)間內(nèi)完成這項(xiàng)工作。在美食網(wǎng)站上,往往有很多用戶上傳的圖片和評(píng)論,這
些信息對(duì)于美食愛好者來說具有很大的參考價(jià)值。使用網(wǎng)絡(luò)爬蟲技術(shù)可以獲取
到所有數(shù)據(jù),讓用戶可以更全面地了解美食信息。而且我們還能使用網(wǎng)絡(luò)爬蟲
技術(shù)進(jìn)行數(shù)據(jù)分析。例如,我們可以分析用戶對(duì)于某種口味的評(píng)價(jià)、菜品的受
歡迎程度等等。這些分析信息無論是對(duì)于美食愛好者來說,還是餐飲從業(yè)者都
非常重要。
然而,網(wǎng)絡(luò)爬蟲也存在一些問題和風(fēng)險(xiǎn)。一方面,一些網(wǎng)站可能會(huì)添加反
爬蟲機(jī)制,限制爬蟲對(duì)其內(nèi)容的訪問;另一方面,一些惡意爬蟲也可能會(huì)非法
獲取他人信息,并進(jìn)行侵犯用戶隱私、盜取商業(yè)機(jī)密等違法行為。因此,在使
用網(wǎng)絡(luò)爬蟲時(shí),需要遵守相關(guān)法律法規(guī),并保證爬蟲行為的合法性和道德性。
同時(shí),要注意設(shè)置合理的抓取頻率,以免給目標(biāo)網(wǎng)站帶來過度的負(fù)擔(dān)。
2.3.2文件存取技術(shù)
Python內(nèi)置csv模塊如圖2-1顯示:
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖2-1python內(nèi)置csv模塊圖
2.3.3可視化技術(shù)
如今,數(shù)據(jù)已經(jīng)成為我們?nèi)粘9ぷ骱蜕钪胁豢苫蛉钡囊徊糠?。大量的?shù)
據(jù)讓人感到無從下手,如何分析數(shù)據(jù)、提取信息、做出正確決策成為了面臨的
難題。這時(shí),“可視化分析數(shù)據(jù)”應(yīng)運(yùn)而生。
可視化,顧名思義,就是通過視覺手段來表達(dá)和傳達(dá)信息的過程。它將抽
象的數(shù)據(jù)和概念轉(zhuǎn)化為更易于理解和感知的圖表、圖形和圖像,讓我們可以更
加直觀地掌握和解讀信息。可視化分析數(shù)據(jù)是一種重要的數(shù)據(jù)工具,它可以極
大地提高數(shù)據(jù)分析的效率和準(zhǔn)確性,同時(shí)也能夠?yàn)橛脩籼峁└忧逦?、直觀、
易于理解的數(shù)據(jù)展示方式,增強(qiáng)用戶對(duì)數(shù)據(jù)的感知和理解。隨著各行各業(yè)數(shù)據(jù)
量的不斷增加,可視化分析將會(huì)成為未來數(shù)據(jù)分析的主流趨勢(shì)。
我們使用可視化技術(shù)來分析數(shù)據(jù)有以下幾個(gè)優(yōu)勢(shì):
第一,可視化分析能夠節(jié)省時(shí)間。傳統(tǒng)的數(shù)據(jù)分析方法,需要進(jìn)行復(fù)雜的
查詢、統(tǒng)計(jì)和運(yùn)算,而可視化工具能夠?qū)?shù)據(jù)以圖形化的方式直觀呈現(xiàn),快速
地為用戶提供數(shù)據(jù)結(jié)果和趨勢(shì)分析,省去冗長(zhǎng)而繁瑣的分析過程。
第二,可視化分析能夠提高數(shù)據(jù)的可讀性。采用圖表的方式呈現(xiàn)數(shù)據(jù),可
以使數(shù)據(jù)更加直觀、易于理解,同時(shí)也減少了用戶在閱讀數(shù)據(jù)時(shí)的困擾和理解
成本。同時(shí),更好的可讀性使得數(shù)據(jù)更容易被傳達(dá)和共享,進(jìn)一步提高了數(shù)據(jù)
的使用效率。
第三,可視化分析能夠?yàn)榕繑?shù)據(jù)提供更好的比較和展示效果。通過對(duì)數(shù)
據(jù)的可視化展示,同樣的數(shù)據(jù)可以有多種表達(dá)方式,數(shù)據(jù)可以更多樣地互相比
較、觀察和分析,使數(shù)據(jù)信息更充分、更全面。
本畢業(yè)設(shè)計(jì)中僅僅只是將得到的數(shù)據(jù)用很簡(jiǎn)單的可視化手段實(shí)現(xiàn)數(shù)據(jù)可視
化,具體的就是用python第三方庫(kù)matpoltlab去進(jìn)行可視化,matplotlab中
包含了許多庫(kù),分別對(duì)應(yīng)餅圖、條形圖、直方圖、折線圖等圖形,可以很好的
將數(shù)據(jù)高效率的表現(xiàn)出來,可視化圖形呈現(xiàn)出來后對(duì)于結(jié)果自然一目了然,然
后得出結(jié)論。
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3數(shù)據(jù)采集
3.1采集頁(yè)面分析
我們首先通過谷歌瀏覽器搜索豆果美食的官方網(wǎng)頁(yè),然后找到菜譜目錄集
頁(yè)面觀察圖3-1,其中URL為:https:///jingxuan然后點(diǎn)擊
頁(yè)面下方的分頁(yè)按鈕,同時(shí)觀察URL,發(fā)現(xiàn)URL沒有變化。
圖3-1數(shù)據(jù)網(wǎng)址頁(yè)面圖
按F12調(diào)出開發(fā)者工具,刷新頁(yè)面,如圖3-2。
圖3-2開發(fā)者工具圖
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
利用全局搜索工具定位所需數(shù)據(jù)位置,點(diǎn)擊開發(fā)者工具上面的Headers字
段,分析這是個(gè)什么請(qǐng)求,發(fā)現(xiàn)這個(gè)是一個(gè)GET請(qǐng)求,那我們就直接用requests
請(qǐng)求頭對(duì)web服務(wù)器發(fā)出HTTP請(qǐng)求,從而獲取豆果美食網(wǎng)站菜譜首頁(yè)源碼,如
圖3-3。
圖3-3首頁(yè)源碼圖
3.2字段分析
我們首先來到網(wǎng)頁(yè)面打開菜譜網(wǎng)頁(yè)的八大菜系川菜,然后將選擇欄目定位
到川菜信息集中的位置,然后跳出開發(fā)者工具頁(yè)面刷新一下頁(yè)面再進(jìn)入,點(diǎn)擊
開發(fā)者工具界面上方的Elements按鈕,如圖3-4,可以看到我們需要的所有的
數(shù)據(jù)信息,我們還得知他是get方法響應(yīng)的網(wǎng)站,所以我們可以根據(jù)以上特點(diǎn)
通過Requests方法中的get方法來獲得八大菜系中的菜譜,菜譜鏈接,用料,
評(píng)分,用戶,圖片,菜系,然后再用xpath來解析這些字段數(shù)據(jù)。所以我們需
要重復(fù)獲取響應(yīng)數(shù)據(jù)然后依次寫入到csv格式的文件當(dāng)中。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3-4字段數(shù)據(jù)頁(yè)面圖
3.3編程實(shí)現(xiàn)
導(dǎo)入所需庫(kù)
圖3-5導(dǎo)入所需庫(kù)頁(yè)面圖
設(shè)置請(qǐng)求頭,偽裝成瀏覽器訪問服務(wù)器。
圖3-6請(qǐng)求頭內(nèi)容頁(yè)面圖
代碼實(shí)現(xiàn)如下:
importcsv
importtime
importrandom
importrequests
importtraceback
fromtimeimportsleep
fromlxmlimportetree
#獲取首頁(yè)源碼
defget_page(url):
n=3
whileTrue:
try:
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
#sleep(random.uniform(1,2))#隨機(jī)出現(xiàn)1-2之間的數(shù),包含小數(shù)
headers={
'User-Agent':"Mozilla/5.0(Macintosh;IntelMacOSX10_14_6)
AppleWebKit/537.36(KHTML,likeGecko)Chrome/81.0.4044.129Safari/537.36"
}
response=requests.get(url,headers=headers,timeout=10)
#print(response.text)
returnresponse.text
except(TimeoutError,Exception):
n-=1
ifn==0:
print('請(qǐng)求3次均失敗,放棄此url請(qǐng)求,檢查請(qǐng)求條件')
return
else:
print('請(qǐng)求失敗,重新請(qǐng)求')
continue
#爬取一頁(yè)數(shù)據(jù)
defparse_page(html,caipu):
try:
parse=etree.HTML(html)#解析網(wǎng)頁(yè)
items=parse.xpath('//li[@class="clearfix"]')
foriteminitems:
title=''.join(item.xpath('./a/@title')).strip()
href='https://'+''.join(item.xpath('./div/a/@href')).strip()
peiliao=''.join(item.xpath('./div/p/text()')).strip()
rate=''.join(item.xpath('./div/div[1]/span[2]/text()')).strip()
id=''.join(item.xpath('./div/div[2]/a[1]/text()')).strip()
img=''.join(item.xpath('./a/img/@src')).strip()
item={
'title':title,
'href':href,
'peiliao':peiliao,
'rate':rate,
'id':id,
'img':img,
'caipu':caipu
}
#print(item)
try:
withopen('E:/daima/Bysj/datas.csv','a',encoding='utf_8_sig',newline='')
asfp:
#'a'為追加模式(添加')
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
#utf_8_sig格式導(dǎo)出csv不亂碼
fieldnames=['title','href','peiliao','rate','id','img','caipu']
writer=csv.DictWriter(fp,fieldnames)
writer.writerow(item)
exceptException:
print(traceback.print_exc())#代替printe來輸出詳細(xì)的異常信息
exceptException:
print(traceback.print_exc())
#主函數(shù)
defmain(x):
url='https:///caipu/{}/0/{}'.format(caipu,x*20)
print(url)
html=get_page(url)
parse_page(html,caipu)
if__name__=='__main__':
caipu_list=['川菜','湘菜','粵菜','東北菜','魯菜','浙菜','湖北菜','清真菜']#中國(guó)
菜系
forcaipuincaipu_list:
foriinrange(5):
#爬取多頁(yè)
main(x=i)
time.sleep(random.uniform(1,2))
print(caipu,"第"+str(i+1)+"頁(yè)提取完成")
4數(shù)據(jù)清洗與處理
獲得龐大的數(shù)據(jù)集之后我們需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,也就是所謂的清洗和
檢查,確定爬取過來的數(shù)據(jù)是否存在無效值和確實(shí)值,要保證數(shù)據(jù)的一致性,
這個(gè)對(duì)于信息質(zhì)量的評(píng)估是一項(xiàng)很重要的任務(wù)。不僅如此,我們需要將數(shù)據(jù)進(jìn)
行有理化和有序化,這樣子能夠在數(shù)據(jù)調(diào)用共享過程中方便很多開發(fā)人員對(duì)數(shù)
據(jù)信息的使用。
本畢業(yè)設(shè)計(jì)中我們需要將爬下來的數(shù)據(jù)和網(wǎng)頁(yè)原數(shù)據(jù)進(jìn)行比對(duì),并且檢查
是否出現(xiàn)空值、錯(cuò)值,還有數(shù)據(jù)的位置是否正確。根據(jù)不同的需求我們要對(duì)數(shù)
據(jù)進(jìn)行不同的處理。
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.1數(shù)據(jù)清洗
圖4-1數(shù)據(jù)清洗準(zhǔn)備頁(yè)面圖
經(jīng)過比對(duì)和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失,然后我們對(duì)數(shù)據(jù)進(jìn)行清洗,先刪
除重復(fù)值,把評(píng)分那列數(shù)據(jù)的“分”字分割刪除,新增用料數(shù)這一列數(shù)據(jù),然
后整理為原網(wǎng)頁(yè)格式存入data.csv文件中,留存后續(xù)作為統(tǒng)計(jì)分析、可視化使
用。
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖4-2數(shù)據(jù)清洗完成界面圖
4.2數(shù)據(jù)儲(chǔ)存
數(shù)據(jù)儲(chǔ)存得方法有很多種,常見得可以直接用記事本格式儲(chǔ)存(txt),或
者直接用其他文件的形式儲(chǔ)存csv、excel、json等,但是以上方法保存的數(shù)據(jù)
體量普遍都比較小。如果需要儲(chǔ)存較大的數(shù)據(jù)信息就需要用到我們的數(shù)據(jù)庫(kù),
數(shù)據(jù)庫(kù)也分為關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)比較典型的有MySQL和
Oracle等,非關(guān)系型數(shù)據(jù)庫(kù)等以鍵值對(duì)形式儲(chǔ)存數(shù)據(jù)的代表有Mongodb、Redis
等。本畢業(yè)設(shè)計(jì)我們用到的是csv、MySQL。如圖4-3和4-4所示:
圖4-3數(shù)據(jù)存儲(chǔ)為csv頁(yè)面圖
圖4-4數(shù)據(jù)存儲(chǔ)MySQL頁(yè)面圖
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.3編程實(shí)現(xiàn)
創(chuàng)建數(shù)據(jù)庫(kù)。
圖4-5創(chuàng)建數(shù)據(jù)庫(kù)MySQL頁(yè)面圖
創(chuàng)建數(shù)據(jù)表。
圖4-6創(chuàng)建數(shù)據(jù)表MySQL頁(yè)面圖
導(dǎo)入datas.csv表格數(shù)據(jù)。
圖4-7導(dǎo)入datas.csv表MySQL頁(yè)面圖
驗(yàn)證存入數(shù)據(jù)是否正確。
圖4-4導(dǎo)入datas.csv表MySQL頁(yè)面圖
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5數(shù)據(jù)統(tǒng)計(jì)與分析
5.1數(shù)據(jù)準(zhǔn)備
導(dǎo)入相關(guān)庫(kù),使用pandas加載源數(shù)據(jù),如圖5-1、5-2。
圖5-1數(shù)據(jù)準(zhǔn)備頁(yè)面圖
圖5-2數(shù)據(jù)加載頁(yè)面圖
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.2數(shù)據(jù)展示
5.2.1依據(jù)菜系進(jìn)行統(tǒng)計(jì)和分析
圖5-3數(shù)據(jù)展示頁(yè)面圖
將在表格中菜系的字段數(shù)據(jù)進(jìn)行匯總和處理然后將其統(tǒng)計(jì)出現(xiàn)的菜,最后
生成特定序列,通過特定序列里面的數(shù)據(jù)再繪制成餅圖,如圖5-3中可以看出
浙菜和東北菜最受大眾喜愛。
東北菜以較為油膩的口味、飽滿的口感和海量的量出名表菜品有鍋包肉、
東北亂燉等。而浙菜則以清淡的口味、細(xì)膩的制作和注重原汁原味著稱,代表
菜品有西湖醋魚、龍井蝦仁等。隨著我國(guó)經(jīng)濟(jì)發(fā)展水平的提高,居民們的生活
水平和消費(fèi)水平也得到了提高,越來越多的人們?cè)敢饣ㄥX享受美食的享受和品
味。正是這種需求推動(dòng)了東北菜和浙菜經(jīng)驗(yàn)的推廣和普及。它們?yōu)椴惋嫎I(yè)的發(fā)
展帶來了巨大的商機(jī)。隨著東北菜和浙菜的風(fēng)靡,不僅出現(xiàn)了越來越多的知名
品牌,而且也帶動(dòng)了一批有夢(mèng)想、有想法的新型食品企業(yè)的誕生。這也促進(jìn)了
餐飲業(yè)的發(fā)展和提升。
5.2.2依據(jù)菜系的平均評(píng)分進(jìn)行統(tǒng)計(jì)和分析
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-4數(shù)據(jù)展示頁(yè)面圖
從圖4-5中可以看出來八大菜系中評(píng)分最高的湖北菜為主,其次就是清真
菜。不過每個(gè)菜系的平均評(píng)分都挺高。那菜系平均評(píng)分高會(huì)有什么影響呢?
隨著互聯(lián)網(wǎng)時(shí)代的到來,人們對(duì)于美食的要求也越來越高。這時(shí)八大菜系
平均評(píng)分高的好處就顯得尤為重要了。首先,它會(huì)提高中國(guó)飲食文化在國(guó)際上
的影響力。眾所周知,中國(guó)的飲食文化非常豐富,但很多國(guó)家對(duì)于中國(guó)飲食文
化并不了解,這時(shí)我們可以通過“八大菜系平均評(píng)分高”的宣傳,讓更多的人
了解和喜愛中國(guó)的飲食文化。
其次,菜系的平均評(píng)分高能提高菜品的品質(zhì)和服務(wù)質(zhì)量。對(duì)于菜品來講,
如果評(píng)分高,說明菜品口感、質(zhì)量等方面得到了廣大消費(fèi)者的認(rèn)可。而對(duì)于服
務(wù)質(zhì)量來講,如果餐廳能夠得到高評(píng)分,說明其提供的服務(wù)質(zhì)量也非常好。這
不僅能夠吸引更多的消費(fèi)者前來就餐,還能夠幫助餐廳提高服務(wù)水平。
再次。在中國(guó)這個(gè)飲食文化大國(guó),餐飲行業(yè)的競(jìng)爭(zhēng)非常激烈,但有了“八
大菜系平均評(píng)分高”的標(biāo)桿,每個(gè)餐飲企業(yè)都可以知道自己相對(duì)于其他企業(yè)存
在的差距和改進(jìn)的方向,從而提高自身的競(jìng)爭(zhēng)力,是整個(gè)行業(yè)朝著更高層次發(fā)
展的方向邁進(jìn)。
5.2.3據(jù)菜系用料數(shù)進(jìn)行統(tǒng)計(jì)和分析
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5-5數(shù)據(jù)展示頁(yè)面圖
從圖5-5中可以得知川菜的用料數(shù)最多。
川菜中使用的各種香料和調(diào)味品,不僅令食材更加美味可口,還能增強(qiáng)食
欲和刺激消化。辣椒、花椒、姜和蒜等,都是川菜中常見的香料。辣椒能夠提
高感官體驗(yàn),也有著明顯的抗氧化和抗炎作用?;ń穭t能夠增添食材的復(fù)雜層
次感,讓食材給人耳目一新的感覺。而姜和蒜則有助于消化系統(tǒng)的健康,能夠
幫助身體消化。
此外,川菜中使用的食材也十分豐富。例如,豆腐、雞肉、牛肉、豬肉、
魚肉、蝦等,都是川菜中的常見食材。這些食材搭配起來不僅讓食品更加豐富
多彩,還能夠提供不同種類的營(yíng)養(yǎng)素,如蛋白質(zhì)、脂肪,以及各種維生素和礦
物質(zhì)。
而且,川菜的飲食文化也是十分獨(dú)特的。從小吃到正餐,從甜點(diǎn)到酸辣口
味,川菜的食品類型已經(jīng)覆蓋了豐富的餐飲需求,同時(shí)也推動(dòng)了中國(guó)飲食文化
的多樣性發(fā)展。作為一形式完備的食品,川菜在滿足味蕾的同時(shí),也為我們了
解中國(guó)文化提供了一個(gè)機(jī)會(huì)。
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5.2.4依據(jù)川菜用料情況進(jìn)行統(tǒng)計(jì)和分析
圖5-6數(shù)據(jù)展示頁(yè)面圖
由上圖詞云圖可知,川菜主要用料以花椒為主,川菜作為中國(guó)八大菜系之
一,以其麻辣、濃香、口感鮮美而著稱。其中,花椒作為川菜獨(dú)特的調(diào)料之一,
其帶來的影響也是不可小覷的。
花椒在烹調(diào)過程中會(huì)散發(fā)出獨(dú)特的香味,可以讓食材更加鮮美,也能調(diào)節(jié)
整道菜的味道。在烹飪川菜時(shí),花椒的香味可以加強(qiáng)菜品的口感,增加料理的
鮮度和層次感,更能讓人食欲大開。花椒帶來的影響不僅僅是在菜品的口感和
味道上。實(shí)際上,花椒還有一些其他的神奇功效?;ń泛胸S富的揮發(fā)油和花
椒堿等成分,具有溫中散寒、理氣止痛、開胃消食等功效。因此,花椒常常被
用于治療肝胃不和、食欲不振等癥狀。此外,花椒還可以殺菌消毒,預(yù)防疾病
傳播。
總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動(dòng)車補(bǔ)充協(xié)議書范文(2篇)
- 2024-2025學(xué)年高中語文課時(shí)作業(yè)4毛澤東詞兩首含解析粵教版必修2
- 六年級(jí)班主任第二學(xué)期工作總結(jié)
- 小學(xué)班主任工作計(jì)劃二年級(jí)
- 公司工程部長(zhǎng)年終總結(jié)
- 儲(chǔ)煤場(chǎng)地合作經(jīng)營(yíng)合同范本
- 駕校招生渠道合作協(xié)議書范本
- 實(shí)踐教學(xué)基地協(xié)議書范本
- 冷藏車輛租賃合同范本
- 貨物運(yùn)輸保險(xiǎn)協(xié)議書范本
- 部編版2024-2025學(xué)年三年級(jí)上冊(cè)語文期末測(cè)試卷(含答案)
- 《景觀設(shè)計(jì)》課件
- 門窗安裝施工安全管理方案
- 2024年安徽省高校分類對(duì)口招生考試數(shù)學(xué)試卷真題
- ISO45001管理體系培訓(xùn)課件
- 動(dòng)畫課件教學(xué)教學(xué)課件
- 會(huì)所股東合作協(xié)議書范文范本
- 綿陽(yáng)市高中2022級(jí)(2025屆)高三第一次診斷性考試(一診)數(shù)學(xué)試卷(含答案逐題解析)
- 人教版(2024)七年級(jí)上冊(cè)英語期中復(fù)習(xí)單項(xiàng)選擇100題(含答案)
- 2024年胡麻油市場(chǎng)前景分析:全球胡麻油市場(chǎng)規(guī)模達(dá)到了25.55億美元
- 小學(xué)英語800詞分類(默寫用)
評(píng)論
0/150
提交評(píng)論