版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度場營銷分公司智慧城市項目合作協(xié)議3篇
- 二零二五版商業(yè)街區(qū)場地租賃合作協(xié)議書6篇
- 2025年度高新技術(shù)產(chǎn)業(yè)常年法律顧問聘用協(xié)議3篇
- 二零二五年度企業(yè)稅收籌劃與稅收籌劃實施合同3篇
- 二零二五年度出口退稅證明開具及國際金融服務(wù)合同3篇
- 二零二五年度港口碼頭租賃及港口貨物裝卸、倉儲及配送服務(wù)協(xié)議8篇
- 二零二五年度土地承包經(jīng)營權(quán)糾紛調(diào)解合同-@-2
- 2025草原禁牧與水資源保護(hù)管理協(xié)議合同3篇
- 2025年度個人個人借款合同信用評估標(biāo)準(zhǔn)3篇
- 二零二五食用油產(chǎn)品包裝設(shè)計與印刷合同
- 中考模擬考試化學(xué)試卷與答案解析(共三套)
- 新人教版五年級小學(xué)數(shù)學(xué)全冊奧數(shù)(含答案)
- 風(fēng)電場升壓站培訓(xùn)課件
- 收納盒注塑模具設(shè)計(論文-任務(wù)書-開題報告-圖紙)
- 博弈論全套課件
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 腦電信號處理與特征提取
- 高中數(shù)學(xué)知識點全總結(jié)(電子版)
- GB/T 10322.7-2004鐵礦石粒度分布的篩分測定
- 2023新譯林版新教材高中英語必修一重點詞組歸納總結(jié)
- 蘇教版四年級數(shù)學(xué)下冊第3單元第2課時“常見的數(shù)量關(guān)系”教案
評論
0/150
提交評論