基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第1頁
基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第2頁
基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第3頁
基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第4頁
基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

目錄

1引言1

1.1畢業(yè)設(shè)計背景1

1.2開發(fā)環(huán)境與工具2

1.2.1Python簡介2

1.2.2MySQL簡介2

1.2.3Jypyternotebook簡介2

1.2.4Python第三方庫簡介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采集頁面分析7

3.2字段分析8

3.3編程實現(xiàn)9

4數(shù)據(jù)清洗與處理11

4.1數(shù)據(jù)清洗12

4.2數(shù)據(jù)儲存13

4.3編程實現(xiàn)14

5數(shù)據(jù)統(tǒng)計與分析15

5.1數(shù)據(jù)準(zhǔn)備15

5.2數(shù)據(jù)展示16

5.2.1依據(jù)菜系進(jìn)行統(tǒng)計和分析16

5.2.2依據(jù)菜系的平均評分進(jìn)行統(tǒng)計和分析16

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2.3據(jù)菜系用料數(shù)進(jìn)行統(tǒng)計和分析17

5.2.4依據(jù)川菜用料情況進(jìn)行統(tǒng)計和分析19

5.3綜述19

6小結(jié)20

參考資料21

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

基于Python的豆果美食網(wǎng)數(shù)據(jù)采集與分析

1引言

在大數(shù)據(jù)時代,數(shù)據(jù)的價值已經(jīng)被越來越多的人所認(rèn)識和重視。隨著互聯(lián)

網(wǎng)、物聯(lián)網(wǎng)等技術(shù)的不斷發(fā)展,我們每一天都在產(chǎn)生海量的數(shù)據(jù)。這些數(shù)據(jù)包

含了各種信息,可以幫助企業(yè)更好地了解市場需求、優(yōu)化產(chǎn)品設(shè)計、提高營銷

效果等,也可以幫助政府更好地了解民生狀況、提升治理水平、加強安全防范

等。

然而,要想從數(shù)據(jù)中獲取有用的信息并進(jìn)行有效的分析與應(yīng)用,并不是一

件容易的事情。需要運用到數(shù)據(jù)挖掘、機器學(xué)習(xí)等領(lǐng)域的專業(yè)知識和技能。同

時,還需要具備對數(shù)據(jù)隱私保護(hù)和安全性的高度關(guān)注,以免因數(shù)據(jù)泄露等問題

導(dǎo)致嚴(yán)重后果。

為此,大數(shù)據(jù)時代需要專業(yè)的人才和技術(shù)支撐,也需要更加完善的法律法

規(guī)與規(guī)范標(biāo)準(zhǔn),以保障數(shù)據(jù)的合法使用和安全保護(hù)。只有這樣,我們才能更好

地利用大數(shù)據(jù)推動社會進(jìn)步和創(chuàng)新發(fā)展。

1.1畢業(yè)設(shè)計背景

中國美食文化歷史悠久烹調(diào)技藝精湛,聞名寰宇,在世界上素有“飲食王

國”之美譽,中國飲食文化是中國數(shù)千年燦爛的民族文化遺產(chǎn)的重要組成部分,

也是一種寶貴的旅游資源。美食文化不僅體現(xiàn)在食物上,更能體現(xiàn)在耕作方式

上。從原始時期的的刀耕火種,到之后封建社會發(fā)展成精耕細(xì)作。耕作方式、

技術(shù)在不斷進(jìn)步。中國古代百姓通過摸索自然的規(guī)律,發(fā)明了“二十四節(jié)氣”。

直到現(xiàn)在,影響深遠(yuǎn)。美食的成就源于這些人對于美食的追求。

我的畢業(yè)設(shè)計就是爬取中國八大菜系的美食數(shù)據(jù),對其進(jìn)行處理,可視化,

然后分析。繁雜的數(shù)據(jù)經(jīng)過清洗加分析后,一目了然的將結(jié)果呈現(xiàn)給大眾,通

過數(shù)據(jù),美食愛好者可以直觀的了解到這八大菜系的美食、配料表以及大眾評

分標(biāo)準(zhǔn),當(dāng)為了吃什么美食而煩惱時,只要通過此數(shù)據(jù)分析,就可以解決這一

問題,對于餐飲從業(yè)者來說,可以了解到消費者的偏向美食口味,精準(zhǔn)的定位

市場,更好的服務(wù)于顧客,將飯店越做越大,生意越做越紅火。所以我的畢業(yè)

設(shè)計部分包含數(shù)據(jù)爬取、清洗處理、儲存、可視化。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

1.2開發(fā)環(huán)境與工具

1.2.1Python簡介

Python是由荷蘭人GuidovanRossum于1991年發(fā)明的一種高級語言,

它能夠讓程序員們使用少量的代碼行數(shù)來完成任務(wù)。本文的主要代碼編輯工具

便是Python,利用Python對美食網(wǎng)站進(jìn)行爬蟲,通過對相關(guān)網(wǎng)站進(jìn)行大數(shù)據(jù)分

析,對照,總結(jié)相應(yīng)的規(guī)律,最終得出科學(xué)可信的結(jié)果。

Python的應(yīng)用非常廣泛,可以用來編寫網(wǎng)頁,游戲,科學(xué)計算,機器學(xué)習(xí),

網(wǎng)絡(luò)編程,系統(tǒng)管理等等。它也可以用來編寫腳本,自動化工作流程,以及許

多其他的用途。本研究主要功能便是取其中包括編寫腳本,網(wǎng)絡(luò)編程,自動化

采集美食網(wǎng)站數(shù)據(jù)功能。通過對美食網(wǎng)站的函數(shù)式編程,面對對象編程,過程

式編程,得出最終有規(guī)律的數(shù)據(jù)結(jié)果提供給相關(guān)行業(yè)進(jìn)行分析。

Python是一種強大的工具,它幫助本研究快速方便地完成任務(wù),幫助本研

究可以用來完成各種各樣的任務(wù),從簡單的腳本到復(fù)雜的編程。

1.2.2MySQL簡介

MySQL是一種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是由美國甲骨文公司的

DougCutler、DavidMartin和SandraBell三人共同開發(fā)的。MySQL最初是在

1997年,由甲骨文公司的一位工程師TomLee在一個小型服務(wù)器上開發(fā)出來的。

MySQL的數(shù)據(jù)庫軟件是由Oracle公司提供的,但它同時也提供了一種將SQL轉(zhuǎn)

換為在MySQL數(shù)據(jù)庫中運行的Java程序語言。

MySQL數(shù)據(jù)庫管理系統(tǒng)是一種支持多種數(shù)據(jù)庫和應(yīng)用程序的開源關(guān)系型數(shù)

據(jù)庫管理系統(tǒng)。它廣泛地應(yīng)用于計算機、互聯(lián)網(wǎng)和電信行業(yè)。其功能是把各種

數(shù)據(jù)表(DataTable)用MySQL來組織,并在不同的程序之間共享數(shù)據(jù)。MySQL

是一個開源的數(shù)據(jù)庫管理系統(tǒng),可在Web或桌面上使用,也可用于遠(yuǎn)程服務(wù)器。

它還可用于各種應(yīng)用程序,包括商業(yè)應(yīng)用程序和桌面應(yīng)用程序,例如Web服務(wù)、

電子郵件和其他數(shù)據(jù)庫。

1.2.3Jypyternotebook簡介

JupyterNotebook,原名IPythonNotebook,是一種交互式筆記本,可以在

其中編寫和運行代碼、制作演示文稿、數(shù)據(jù)可視化,并且可以直接將其分享。

JupyterNotebook可以用于多種編程語言,包括Python、R、Julia、Scala等。

它的界面簡潔易用,支持Markdown格式的文本編輯,因此非常適合數(shù)據(jù)科學(xué)家、

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

研究人員、教育工作者等使用。

JupyterNotebook的核心是基于Web技術(shù)的交互式計算環(huán)境——Notebook

界面。用戶可以在Notebook界面中輕松地將代碼、文本和圖形組合在一起,形

成一個完整的文檔,同時還能夠方便地進(jìn)行代碼的調(diào)試和實驗。除此之外,

JupyterNotebook還支持多種插件,可以擴展其功能,從而更好地滿足用戶的

需求。

總之,JupyterNotebook是一個功能強大、易于使用、高度靈活的交互式

計算工具,它正在被越來越多的人所接受和使用,成為數(shù)據(jù)分析、科學(xué)研究、

教育等領(lǐng)域中不可或缺的工具之一。

1.2.4Python第三方庫簡介

requests:最友好的網(wǎng)絡(luò)爬蟲功能庫,它提供了便捷的API,可以讓開發(fā)

者更容易地處理請求和響應(yīng),比如設(shè)置代理、認(rèn)證、超時等。是Python實現(xiàn)的

簡單易用的HTTP庫,使用起來比urllib更簡潔很多,Python第三方庫在使用

前要先進(jìn)行安裝。

XPath:是一門在XML文檔中查找信息的語言,XPath可用來在XML文檔中

對元素和屬性進(jìn)行遍歷。

Csv:csv屬于python中的內(nèi)置模塊,是一種常見的文本文件格式。以逗號

作為字段分隔符,用于存儲和交換數(shù)據(jù)。csv文件易于處理和導(dǎo)入到許多軟件中,

如電子表格、數(shù)據(jù)庫和編程語言中。

NumPy庫:是Python語言中重要的科學(xué)計算庫之一,提供高效的數(shù)組操作

和數(shù)學(xué)函數(shù)。Numpy庫的使用可以大大提升Python程序的計算效率和數(shù)據(jù)處理

能力。

pandas:是Python編程語言中用于數(shù)據(jù)分析的開源軟件庫,它提供了高效

的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,使得數(shù)據(jù)清洗和處理變得簡單易行。

matplotlib:是一種Python的數(shù)據(jù)可視化庫。matplotlib能夠繪制各種類

型的圖表,如線圖、散點圖、柱狀圖等。

wordcloud、jieba:wordcloud可用于生成詞云圖,jieba則是中文分詞庫,

能夠?qū)⒅形奈谋痉指畛稍~語。這兩個庫的結(jié)合可以用于生成中文詞云圖。

pylab:是一個Python軟件包,用于繪制圖形和數(shù)據(jù)可視化。它結(jié)合了

Matplotlib和NumPy庫的功能,提供了一個交互式環(huán)境,它能設(shè)置畫圖讓其能

顯示中文。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

2需求分析

2.1可行性需求分析

1、項目可行性

隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來越多的人開始使用美食網(wǎng)站查詢和分享

美食信息。這些網(wǎng)站中包含了大量的美食菜譜、評價和圖片等信息,對于餐飲

從業(yè)者和愛好者們來說都是非常有價值的資源。因此,爬取美食網(wǎng)站數(shù)據(jù)已成

為許多人關(guān)注的焦點。

所以本畢業(yè)設(shè)計我們通過采集豆果美食網(wǎng)站內(nèi)的數(shù)據(jù),來分析我國八大菜

系的信息。我們也將從用料、評分、用料數(shù)等方面對其進(jìn)行深度剖析,分析出

有價值的信息,將其可視化最后的結(jié)果提供給餐飲從業(yè)者和愛好者來實現(xiàn)商業(yè)

價值。

2、技術(shù)可行性

美食網(wǎng)站中包含的數(shù)據(jù)量十分龐大,要爬取到數(shù)據(jù)量的同時又要注意到數(shù)

據(jù)質(zhì)量。Python爬蟲在獲取美食網(wǎng)站數(shù)據(jù)方面具有非常強的可行性,因為

Python擁有豐富的網(wǎng)絡(luò)爬蟲庫和框架,如Scrapy、BeautifulSoup、Selenium

等,這些工具可以幫助我們快速構(gòu)建一個完整的爬蟲系統(tǒng),極大的提高了工作

效率。保證爬到到重要數(shù)據(jù)量的同時兼顧到數(shù)據(jù)的質(zhì)量。

通過Python爬蟲,我們可以輕松地從豆果美食網(wǎng)站上獲取菜系、菜系的平

均評分、菜系用料數(shù)以及川菜的用料等情況。餐飲從業(yè)者能夠?qū)崿F(xiàn)商業(yè)價值,

美食愛好者能夠?qū)崿F(xiàn)社會生活價值,而對于一個國家而言,分析美食數(shù)據(jù)則可

以實現(xiàn)美食文化價值。

2.2采集目標(biāo)功能分析

本畢業(yè)設(shè)計的數(shù)據(jù)集的來源是豆果美食網(wǎng)站,是通過python爬取菜譜里的

中國八大菜系的信息。數(shù)據(jù)清洗后共799條記錄,爬取完成后盡可能的檢查數(shù)

據(jù)的準(zhǔn)確性,確定爬取出來的數(shù)據(jù)無誤,并且是屬于豆果美食網(wǎng)菜譜的中國菜

系的信息。

分析豆果美食網(wǎng)站網(wǎng)頁信息,明確我們需要爬取的菜譜、菜譜鏈接、用料、

評分、用戶、圖片、菜系等數(shù)據(jù),在對原始數(shù)據(jù)進(jìn)行預(yù)處理后我們會對其數(shù)據(jù)

進(jìn)行多個維度的分析。從菜系對其進(jìn)行分析,分析出八大菜系中最受歡迎的菜

系,餐飲從業(yè)者為此可以拓展市場。從菜系的評分對其進(jìn)行分析,餐飲從業(yè)者

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

能夠依照菜系的平均評分提高飲食行業(yè)的競爭力。從菜系的用料數(shù)對其進(jìn)行分

析,對于一個國家來說,能夠?qū)崿F(xiàn)美食文化價值。從川菜的用料情況對其進(jìn)行

分析,能夠很好的解決美食愛好者健康飲食的問題。

2.3關(guān)鍵技術(shù)分析

2.3.1網(wǎng)絡(luò)爬蟲技術(shù)

隨著人們對美食的關(guān)注度不斷升高,越來越多的人開始在互聯(lián)網(wǎng)上搜索和

分享各種美食資訊。因此,了解并掌握美食資訊是非常重要的。這也促使我們

考慮是否可以通過網(wǎng)絡(luò)爬蟲技術(shù)來獲取美食網(wǎng)站的數(shù)據(jù),以便更好地滿足人們

對美食信息的需求。隨著互聯(lián)網(wǎng)的不斷發(fā)展和普及,更多的數(shù)據(jù)被存儲在了網(wǎng)

絡(luò)中。而要獲取這些數(shù)據(jù),傳統(tǒng)的手動收集方法已經(jīng)不再適用。網(wǎng)絡(luò)爬蟲技術(shù)

的出現(xiàn),為我們提供了一種高效、快捷的獲取數(shù)據(jù)的途徑。

網(wǎng)絡(luò)爬蟲,也稱為網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機器人等,是一種自動獲取互聯(lián)網(wǎng)信息

的程序。它可以自動化地瀏覽互聯(lián)網(wǎng),并按照一定規(guī)則收集有用的數(shù)據(jù)信息,

如網(wǎng)頁內(nèi)容、圖片、視頻等。與傳統(tǒng)手工采集不同,網(wǎng)絡(luò)爬蟲可以高效、快速

地從海量網(wǎng)頁中抽取所需信息,大大減少了人力成本。

網(wǎng)絡(luò)爬蟲技術(shù)可以快速地獲取美食網(wǎng)站上的大量數(shù)據(jù)。傳統(tǒng)的手動獲取數(shù)

據(jù)方法耗時費力,而網(wǎng)絡(luò)爬蟲技術(shù)可以自動化地收集數(shù)據(jù),并且可以在很短的

時間內(nèi)完成這項工作。在美食網(wǎng)站上,往往有很多用戶上傳的圖片和評論,這

些信息對于美食愛好者來說具有很大的參考價值。使用網(wǎng)絡(luò)爬蟲技術(shù)可以獲取

到所有數(shù)據(jù),讓用戶可以更全面地了解美食信息。而且我們還能使用網(wǎng)絡(luò)爬蟲

技術(shù)進(jìn)行數(shù)據(jù)分析。例如,我們可以分析用戶對于某種口味的評價、菜品的受

歡迎程度等等。這些分析信息無論是對于美食愛好者來說,還是餐飲從業(yè)者都

非常重要。

然而,網(wǎng)絡(luò)爬蟲也存在一些問題和風(fēng)險。一方面,一些網(wǎng)站可能會添加反

爬蟲機制,限制爬蟲對其內(nèi)容的訪問;另一方面,一些惡意爬蟲也可能會非法

獲取他人信息,并進(jìn)行侵犯用戶隱私、盜取商業(yè)機密等違法行為。因此,在使

用網(wǎng)絡(luò)爬蟲時,需要遵守相關(guān)法律法規(guī),并保證爬蟲行為的合法性和道德性。

同時,要注意設(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è)計

圖2-1python內(nèi)置csv模塊圖

2.3.3可視化技術(shù)

如今,數(shù)據(jù)已經(jīng)成為我們?nèi)粘9ぷ骱蜕钪胁豢苫蛉钡囊徊糠帧4罅康臄?shù)

據(jù)讓人感到無從下手,如何分析數(shù)據(jù)、提取信息、做出正確決策成為了面臨的

難題。這時,“可視化分析數(shù)據(jù)”應(yīng)運而生。

可視化,顧名思義,就是通過視覺手段來表達(dá)和傳達(dá)信息的過程。它將抽

象的數(shù)據(jù)和概念轉(zhuǎn)化為更易于理解和感知的圖表、圖形和圖像,讓我們可以更

加直觀地掌握和解讀信息。可視化分析數(shù)據(jù)是一種重要的數(shù)據(jù)工具,它可以極

大地提高數(shù)據(jù)分析的效率和準(zhǔn)確性,同時也能夠為用戶提供更加清晰、直觀、

易于理解的數(shù)據(jù)展示方式,增強用戶對數(shù)據(jù)的感知和理解。隨著各行各業(yè)數(shù)據(jù)

量的不斷增加,可視化分析將會成為未來數(shù)據(jù)分析的主流趨勢。

我們使用可視化技術(shù)來分析數(shù)據(jù)有以下幾個優(yōu)勢:

第一,可視化分析能夠節(jié)省時間。傳統(tǒng)的數(shù)據(jù)分析方法,需要進(jìn)行復(fù)雜的

查詢、統(tǒng)計和運算,而可視化工具能夠?qū)?shù)據(jù)以圖形化的方式直觀呈現(xiàn),快速

地為用戶提供數(shù)據(jù)結(jié)果和趨勢分析,省去冗長而繁瑣的分析過程。

第二,可視化分析能夠提高數(shù)據(jù)的可讀性。采用圖表的方式呈現(xiàn)數(shù)據(jù),可

以使數(shù)據(jù)更加直觀、易于理解,同時也減少了用戶在閱讀數(shù)據(jù)時的困擾和理解

成本。同時,更好的可讀性使得數(shù)據(jù)更容易被傳達(dá)和共享,進(jìn)一步提高了數(shù)據(jù)

的使用效率。

第三,可視化分析能夠為批量數(shù)據(jù)提供更好的比較和展示效果。通過對數(shù)

據(jù)的可視化展示,同樣的數(shù)據(jù)可以有多種表達(dá)方式,數(shù)據(jù)可以更多樣地互相比

較、觀察和分析,使數(shù)據(jù)信息更充分、更全面。

本畢業(yè)設(shè)計中僅僅只是將得到的數(shù)據(jù)用很簡單的可視化手段實現(xiàn)數(shù)據(jù)可視

化,具體的就是用python第三方庫matpoltlab去進(jìn)行可視化,matplotlab中

包含了許多庫,分別對應(yīng)餅圖、條形圖、直方圖、折線圖等圖形,可以很好的

將數(shù)據(jù)高效率的表現(xiàn)出來,可視化圖形呈現(xiàn)出來后對于結(jié)果自然一目了然,然

后得出結(jié)論。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3數(shù)據(jù)采集

3.1采集頁面分析

我們首先通過谷歌瀏覽器搜索豆果美食的官方網(wǎng)頁,然后找到菜譜目錄集

頁面觀察圖3-1,其中URL為:https:///jingxuan然后點擊

頁面下方的分頁按鈕,同時觀察URL,發(fā)現(xiàn)URL沒有變化。

圖3-1數(shù)據(jù)網(wǎng)址頁面圖

按F12調(diào)出開發(fā)者工具,刷新頁面,如圖3-2。

圖3-2開發(fā)者工具圖

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

利用全局搜索工具定位所需數(shù)據(jù)位置,點擊開發(fā)者工具上面的Headers字

段,分析這是個什么請求,發(fā)現(xiàn)這個是一個GET請求,那我們就直接用requests

請求頭對web服務(wù)器發(fā)出HTTP請求,從而獲取豆果美食網(wǎng)站菜譜首頁源碼,如

圖3-3。

圖3-3首頁源碼圖

3.2字段分析

我們首先來到網(wǎng)頁面打開菜譜網(wǎng)頁的八大菜系川菜,然后將選擇欄目定位

到川菜信息集中的位置,然后跳出開發(fā)者工具頁面刷新一下頁面再進(jìn)入,點擊

開發(fā)者工具界面上方的Elements按鈕,如圖3-4,可以看到我們需要的所有的

數(shù)據(jù)信息,我們還得知他是get方法響應(yīng)的網(wǎng)站,所以我們可以根據(jù)以上特點

通過Requests方法中的get方法來獲得八大菜系中的菜譜,菜譜鏈接,用料,

評分,用戶,圖片,菜系,然后再用xpath來解析這些字段數(shù)據(jù)。所以我們需

要重復(fù)獲取響應(yīng)數(shù)據(jù)然后依次寫入到csv格式的文件當(dāng)中。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-4字段數(shù)據(jù)頁面圖

3.3編程實現(xiàn)

導(dǎo)入所需庫

圖3-5導(dǎo)入所需庫頁面圖

設(shè)置請求頭,偽裝成瀏覽器訪問服務(wù)器。

圖3-6請求頭內(nèi)容頁面圖

代碼實現(xiàn)如下:

importcsv

importtime

importrandom

importrequests

importtraceback

fromtimeimportsleep

fromlxmlimportetree

#獲取首頁源碼

defget_page(url):

n=3

whileTrue:

try:

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

#sleep(random.uniform(1,2))#隨機出現(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('請求3次均失敗,放棄此url請求,檢查請求條件')

return

else:

print('請求失敗,重新請求')

continue

#爬取一頁數(shù)據(jù)

defparse_page(html,caipu):

try:

parse=etree.HTML(html)#解析網(wǎng)頁

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è)計

#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=['川菜','湘菜','粵菜','東北菜','魯菜','浙菜','湖北菜','清真菜']#中國

菜系

forcaipuincaipu_list:

foriinrange(5):

#爬取多頁

main(x=i)

time.sleep(random.uniform(1,2))

print(caipu,"第"+str(i+1)+"頁提取完成")

4數(shù)據(jù)清洗與處理

獲得龐大的數(shù)據(jù)集之后我們需要對數(shù)據(jù)進(jìn)行預(yù)處理,也就是所謂的清洗和

檢查,確定爬取過來的數(shù)據(jù)是否存在無效值和確實值,要保證數(shù)據(jù)的一致性,

這個對于信息質(zhì)量的評估是一項很重要的任務(wù)。不僅如此,我們需要將數(shù)據(jù)進(jìn)

行有理化和有序化,這樣子能夠在數(shù)據(jù)調(diào)用共享過程中方便很多開發(fā)人員對數(shù)

據(jù)信息的使用。

本畢業(yè)設(shè)計中我們需要將爬下來的數(shù)據(jù)和網(wǎng)頁原數(shù)據(jù)進(jìn)行比對,并且檢查

是否出現(xiàn)空值、錯值,還有數(shù)據(jù)的位置是否正確。根據(jù)不同的需求我們要對數(shù)

據(jù)進(jìn)行不同的處理。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

4.1數(shù)據(jù)清洗

圖4-1數(shù)據(jù)清洗準(zhǔn)備頁面圖

經(jīng)過比對和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失,然后我們對數(shù)據(jù)進(jìn)行清洗,先刪

除重復(fù)值,把評分那列數(shù)據(jù)的“分”字分割刪除,新增用料數(shù)這一列數(shù)據(jù),然

后整理為原網(wǎng)頁格式存入data.csv文件中,留存后續(xù)作為統(tǒng)計分析、可視化使

用。

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4-2數(shù)據(jù)清洗完成界面圖

4.2數(shù)據(jù)儲存

數(shù)據(jù)儲存得方法有很多種,常見得可以直接用記事本格式儲存(txt),或

者直接用其他文件的形式儲存csv、excel、json等,但是以上方法保存的數(shù)據(jù)

體量普遍都比較小。如果需要儲存較大的數(shù)據(jù)信息就需要用到我們的數(shù)據(jù)庫,

數(shù)據(jù)庫也分為關(guān)系型和非關(guān)系型數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫比較典型的有MySQL和

Oracle等,非關(guān)系型數(shù)據(jù)庫等以鍵值對形式儲存數(shù)據(jù)的代表有Mongodb、Redis

等。本畢業(yè)設(shè)計我們用到的是csv、MySQL。如圖4-3和4-4所示:

圖4-3數(shù)據(jù)存儲為csv頁面圖

圖4-4數(shù)據(jù)存儲MySQL頁面圖

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

4.3編程實現(xiàn)

創(chuàng)建數(shù)據(jù)庫。

圖4-5創(chuàng)建數(shù)據(jù)庫MySQL頁面圖

創(chuàng)建數(shù)據(jù)表。

圖4-6創(chuàng)建數(shù)據(jù)表MySQL頁面圖

導(dǎo)入datas.csv表格數(shù)據(jù)。

圖4-7導(dǎo)入datas.csv表MySQL頁面圖

驗證存入數(shù)據(jù)是否正確。

圖4-4導(dǎo)入datas.csv表MySQL頁面圖

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5數(shù)據(jù)統(tǒng)計與分析

5.1數(shù)據(jù)準(zhǔn)備

導(dǎo)入相關(guān)庫,使用pandas加載源數(shù)據(jù),如圖5-1、5-2。

圖5-1數(shù)據(jù)準(zhǔn)備頁面圖

圖5-2數(shù)據(jù)加載頁面圖

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2數(shù)據(jù)展示

5.2.1依據(jù)菜系進(jìn)行統(tǒng)計和分析

圖5-3數(shù)據(jù)展示頁面圖

將在表格中菜系的字段數(shù)據(jù)進(jìn)行匯總和處理然后將其統(tǒng)計出現(xiàn)的菜,最后

生成特定序列,通過特定序列里面的數(shù)據(jù)再繪制成餅圖,如圖5-3中可以看出

浙菜和東北菜最受大眾喜愛。

東北菜以較為油膩的口味、飽滿的口感和海量的量出名表菜品有鍋包肉、

東北亂燉等。而浙菜則以清淡的口味、細(xì)膩的制作和注重原汁原味著稱,代表

菜品有西湖醋魚、龍井蝦仁等。隨著我國經(jīng)濟(jì)發(fā)展水平的提高,居民們的生活

水平和消費水平也得到了提高,越來越多的人們愿意花錢享受美食的享受和品

味。正是這種需求推動了東北菜和浙菜經(jīng)驗的推廣和普及。它們?yōu)椴惋嫎I(yè)的發(fā)

展帶來了巨大的商機。隨著東北菜和浙菜的風(fēng)靡,不僅出現(xiàn)了越來越多的知名

品牌,而且也帶動了一批有夢想、有想法的新型食品企業(yè)的誕生。這也促進(jìn)了

餐飲業(yè)的發(fā)展和提升。

5.2.2依據(jù)菜系的平均評分進(jìn)行統(tǒng)計和分析

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖5-4數(shù)據(jù)展示頁面圖

從圖4-5中可以看出來八大菜系中評分最高的湖北菜為主,其次就是清真

菜。不過每個菜系的平均評分都挺高。那菜系平均評分高會有什么影響呢?

隨著互聯(lián)網(wǎng)時代的到來,人們對于美食的要求也越來越高。這時八大菜系

平均評分高的好處就顯得尤為重要了。首先,它會提高中國飲食文化在國際上

的影響力。眾所周知,中國的飲食文化非常豐富,但很多國家對于中國飲食文

化并不了解,這時我們可以通過“八大菜系平均評分高”的宣傳,讓更多的人

了解和喜愛中國的飲食文化。

其次,菜系的平均評分高能提高菜品的品質(zhì)和服務(wù)質(zhì)量。對于菜品來講,

如果評分高,說明菜品口感、質(zhì)量等方面得到了廣大消費者的認(rèn)可。而對于服

務(wù)質(zhì)量來講,如果餐廳能夠得到高評分,說明其提供的服務(wù)質(zhì)量也非常好。這

不僅能夠吸引更多的消費者前來就餐,還能夠幫助餐廳提高服務(wù)水平。

再次。在中國這個飲食文化大國,餐飲行業(yè)的競爭非常激烈,但有了“八

大菜系平均評分高”的標(biāo)桿,每個餐飲企業(yè)都可以知道自己相對于其他企業(yè)存

在的差距和改進(jìn)的方向,從而提高自身的競爭力,是整個行業(yè)朝著更高層次發(fā)

展的方向邁進(jìn)。

5.2.3據(jù)菜系用料數(shù)進(jìn)行統(tǒng)計和分析

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖5-5數(shù)據(jù)展示頁面圖

從圖5-5中可以得知川菜的用料數(shù)最多。

川菜中使用的各種香料和調(diào)味品,不僅令食材更加美味可口,還能增強食

欲和刺激消化。辣椒、花椒、姜和蒜等,都是川菜中常見的香料。辣椒能夠提

高感官體驗,也有著明顯的抗氧化和抗炎作用。花椒則能夠增添食材的復(fù)雜層

次感,讓食材給人耳目一新的感覺。而姜和蒜則有助于消化系統(tǒng)的健康,能夠

幫助身體消化。

此外,川菜中使用的食材也十分豐富。例如,豆腐、雞肉、牛肉、豬肉、

魚肉、蝦等,都是川菜中的常見食材。這些食材搭配起來不僅讓食品更加豐富

多彩,還能夠提供不同種類的營養(yǎng)素,如蛋白質(zhì)、脂肪,以及各種維生素和礦

物質(zhì)。

而且,川菜的飲食文化也是十分獨特的。從小吃到正餐,從甜點到酸辣口

味,川菜的食品類型已經(jīng)覆蓋了豐富的餐飲需求,同時也推動了中國飲食文化

的多樣性發(fā)展。作為一形式完備的食品,川菜在滿足味蕾的同時,也為我們了

解中國文化提供了一個機會。

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2.4依據(jù)川菜用料情況進(jìn)行統(tǒng)計和分析

圖5-6數(shù)據(jù)展示頁面圖

由上圖詞云圖可知,川菜主要用料以花椒為主,川菜作為中國八大菜系之

一,以其麻辣、濃香、口感鮮美而著稱。其中,花椒作為川菜獨特的調(diào)料之一,

其帶來的影響也是不可小覷的。

花椒在烹調(diào)過程中會散發(fā)出獨特的香味,可以讓食材更加鮮美,也能調(diào)節(jié)

整道菜的味道。在烹飪川菜時,花椒的香味可以加強菜品的口感,增加料理的

鮮度和層次感,更能讓人食欲大開?;ń穾淼挠绊懖粌H僅是在菜品的口感和

味道上。實際上,花椒還有一些其他的神奇功效?;ń泛胸S富的揮發(fā)油和花

椒堿等成分,具有溫中散寒、理氣止痛、開胃消食等功效。因此,花椒常常被

用于治療肝胃不和、食欲不振等癥狀。此外,花椒還可以殺菌消毒,預(yù)防疾病

傳播。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論