版權(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)境與工具................................................................................................2
1.2.1Python簡介............................................................................................2
1.2.2MySQL簡介..............................................................................................2
1.2.3Jupyternotebook簡介........................................................................3
1.2.4Python第三方庫簡介............................................................................4
2需求分析.......................................................................................................................4
2.1可行性需求分析................................................................................................4
2.2采集目標功能分析............................................................................................5
2.3關(guān)鍵技術(shù)分析....................................................................................................5
2.3.1網(wǎng)絡(luò)爬蟲技術(shù).........................................................................................5
2.3.2文件存取技術(shù).........................................................................................6
2.3.3可視化技術(shù).............................................................................................7
3數(shù)據(jù)采集.......................................................................................................................7
3.1采集頁面分析....................................................................................................7
3.2字段分析............................................................................................................9
3.3編程實現(xiàn)............................................................................................................9
4數(shù)據(jù)清洗與處理.........................................................................................................11
4.1數(shù)據(jù)清洗..........................................................................................................12
4.2數(shù)據(jù)儲存..........................................................................................................13
4.3編程實現(xiàn)..........................................................................................................13
5數(shù)據(jù)統(tǒng)計與分析.........................................................................................................14
5.1數(shù)據(jù)準備..........................................................................................................14
5.2數(shù)據(jù)展示..........................................................................................................15
5.2.1依據(jù)菜譜工藝進行統(tǒng)計與分析...........................................................15
5.2.2依據(jù)菜譜難度進行統(tǒng)計與分析...........................................................16
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2.3依據(jù)菜譜收藏數(shù)進行統(tǒng)計與分析.......................................................17
5.3綜述..................................................................................................................17
6小結(jié).............................................................................................................................18
參考資料.........................................................................................................................20
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
基于Python的美食杰美食網(wǎng)數(shù)據(jù)采集與分析
1引言
時光如梭,隨著科技的不斷進步和發(fā)展,世界未有之大變局。在當前社會
背景下,我國的科技也正在不斷地發(fā)展,科技全球化是必然的趨勢,所以我們
年輕一代更應(yīng)該抓住這次機會和時機。互聯(lián)網(wǎng)時代的到來讓人們的吃穿住行得
到了更多的信息來源渠道,而這些產(chǎn)生的數(shù)據(jù)也給我們這些技術(shù)工作者提供了
大量的數(shù)據(jù)渠道,讓我們獲得更便利的數(shù)據(jù)學(xué)習(xí)、開發(fā)、采集以及應(yīng)用渠道。
在當前經(jīng)濟蓬勃發(fā)展的背景下,隨著國民經(jīng)濟水平的提高,人們對吃穿住
行的重視,從而產(chǎn)生的大量的數(shù)據(jù),這些數(shù)據(jù)等待著被開發(fā)的大量價值。計算
機行業(yè)的發(fā)展,也使得許多新的語言的被推上熱門,首當其沖的就有python,
它通常被認為是最好的編程語言,因為它非常平易近人。它是一種快速、易于
使用且易于部署的編程語言,廣泛用于開發(fā)可擴展的Web應(yīng)用程序。我們剛好
在新時代信息化的浪口,以及漫天信息化、大量IT行業(yè)的涌入,將計算機行業(yè)
推入浪潮,使得大量IT工作者的加入,利用便利的開發(fā)條件和大量信息里的價
值待開發(fā),使得大數(shù)據(jù)技術(shù)與應(yīng)用成為當前計算機信息領(lǐng)域的一個比較受歡迎
的行業(yè)分支,也正因如此,大數(shù)據(jù)技術(shù)與應(yīng)用也會發(fā)展的越來越好。
1.1畢業(yè)設(shè)計背景
中華上下五千年,中華文化,博大精深,中國的美食數(shù)不盡數(shù),不同的季
節(jié)有不同的美食,每個地域也有每個地域的美食,每個省的美食也各有特色,
美食文化各自都不盡相同。在我國,人口基數(shù)大,地域?qū)拸V,美食愛好也是不
盡相同的。
國民經(jīng)濟水平的提高,人們對吃得到了更多的重視。我們將菜系分為川菜、
粵菜、東北菜、湘菜、魯菜、浙菜、湖北菜和清真菜。
我的畢業(yè)設(shè)計是對美食杰網(wǎng)站菜系中的東北菜菜系數(shù)據(jù)進行爬取采集,將
采集下來的數(shù)據(jù),進行數(shù)據(jù)的可視化,可以讓瀏覽者直觀的了解到這八大菜系
之—的東北菜系中的工藝、難度以及瀏覽者收藏量等等。當為了吃什么美食而
煩惱時,只要通過此數(shù)據(jù)分析,就可以很好的解決這個問題。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
1.2開發(fā)環(huán)境與工具
1.2.1Python簡介
Python,讀作['pa?θɑn],翻譯成漢語是蟒蛇的意思,并且Python的logo
也是兩條纏繞在一起的蟒蛇的樣子,然而Python語言和蟒蛇實際上并沒有多大
的關(guān)系,1989年圣誕節(jié)期間,荷蘭的吉多*范羅蘇姆為了在阿姆斯特丹打發(fā)時間
創(chuàng)造了Python,作為ABC語言的一種繼承。在2002年,python出現(xiàn)了pthon2.x
系列,直至2008年python又發(fā)展成為了python3.x系列。
Python在1991年第一個版本公開問世后,并沒有掀起太大的波瀾,在21世
紀初Google在大量的項目業(yè)務(wù)上大規(guī)模的開始應(yīng)用Python,Python也因此走
進大眾的視野,從而促使Python的發(fā)展。Python的應(yīng)用方向包括:常規(guī)軟件開
發(fā)、科學(xué)計算、自動化運維、云計算、WEB開發(fā)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析以及人工
智能等。并且Python是一種非常有效的語言,比用Python編寫的許多其他語
言包含更少的代碼量。Python語法還可以幫助編程者創(chuàng)建干凈的代碼。它比用
Python以外的其他語言編寫的代碼更容易閱讀、調(diào)試、擴展。簡單易學(xué)的特點
也成為很多小白選擇編程語言的第一首選。
雖然python的優(yōu)點有很多,但是任何編程語言都會有或多或少的缺點,
python也不會例外。Python發(fā)布于30多年前,但直到最近幾年,它才比除Java
和C之外的其他語言更受歡迎。不幸的是,這種流行暴露了Python的缺點。最
明顯和已知的缺點是計算能力、數(shù)據(jù)打包和可執(zhí)行文件的創(chuàng)建以及項目。
在如今的技術(shù)潮流趨勢下Python是人工智能中非常流行的語言,雖然它仍
然有缺點,但這些特點無法阻止python這門編程語言快速發(fā)展。因為它的簡潔
性、易讀性、可擴展性和可維護性,一種多用途編程語言和大量的應(yīng)用和涉及
領(lǐng)域等特點,所以python的未來前景十分樂觀。隨著人工智能、機器學(xué)習(xí)和大
數(shù)據(jù)分析技術(shù)的發(fā)展,python將會得到更多的應(yīng)用,而且未來可能更加的廣泛。
1.2.2MySQL簡介
開放源代碼數(shù)據(jù)庫只是一個帶有源代碼的公共數(shù)據(jù)庫。用戶可以自由閱讀、
編輯和擴展軟件。對于大多數(shù)人來說,最有趣的特性是可以在任何地方、任何
時間使用任何硬件運行。源代碼是所有程序員都可以根據(jù)需要使用的公共資源。
隨著時間的推移,開源數(shù)據(jù)庫在低端應(yīng)用程序中變得流行,并占據(jù)了相當大的
市場份額。開源數(shù)據(jù)庫具有使用免費、配置簡單、穩(wěn)定性好、性能優(yōu)異等特點。
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
許多新的數(shù)據(jù)庫都是從開源項目開始的。數(shù)十家新公司發(fā)布了基于開源社
區(qū)許可證的新數(shù)據(jù)庫。他們中的大多數(shù)人還試圖通過銷售支持和其他獨家功能
獲得支持。其中一些開源項目基于以前的版本。MariaDB是MySQL的一個分支,
由MySQL的創(chuàng)始人之一MontyVidenius創(chuàng)建。MySQLOracle發(fā)布后,新版本開
始了。第一個版本從源代碼庫開始,但最新版本增加了一些功能,以加快處理
大型數(shù)據(jù)集。SQL語法的許多基本功能和基本部分是相同的,因此許多開發(fā)人員
可以在它們之間自由切換。這種差異在未來可能會擴大。例如,MariaDB增加了
與Cassandra、TokuDB和Sphinx等流行數(shù)據(jù)庫的集成。
MySQL數(shù)據(jù)庫是開源數(shù)據(jù)庫的代表。MySQL是目前最流行的開源數(shù)據(jù)庫。它
是一個完全基于Web的關(guān)系數(shù)據(jù)庫系統(tǒng)。瑞典MySQLAB開發(fā)的符號是一只名叫
Sakilla的海豚,代表MySQL數(shù)據(jù)庫和團隊的速度、容量、準確性和卓越性。MySQL
是開源代碼的數(shù)據(jù)庫、有著跨平臺性和價格優(yōu)勢以及強大且方便的功能提供給
用戶使用的特點。
1.2.3Jupyternotebook簡介
什么是JupyterNotebook?按照Jupyter創(chuàng)始人FernandoPérez的說法,
他最初的夢想是做一個綜合Ju(Julia)、Py(Python)和R三種科學(xué)運算
語言的計算工具平臺,所以將其命名為Ju-Py-te-R。JupyterNotebook是一個
基于瀏覽器的交互式編程環(huán)境(REPL,readevalprintloop),它主要構(gòu)建
在IPython等開源庫上,允許我們在瀏覽器上運行交互式python代碼。發(fā)展到
現(xiàn)在,Jupyter已經(jīng)成為一個幾乎支持所有語言,能夠把軟件代碼、計算輸出、
解釋文檔、多媒體資源整合在一起的多功能科學(xué)運算平臺。
既然jupyter編輯器能夠被很多開發(fā)者喜愛,那它一定是有著一定的優(yōu)點
可以去吸引用戶的。Jupyternotebook具有整合所有的資源、交互性編程體驗、
零成本重現(xiàn)結(jié)果的優(yōu)點。
Jupyternotebook有兩種安裝方式,第一種:如果個人擅長使用python,
可以在安裝python后通過pip安裝,還可以根據(jù)自身要求安裝安裝所需要的開
源包;第二種:如果是一個python剛?cè)腴T的新手,那么可以去安裝Anaconda,
非常適合初學(xué)者,它包含了大量的科學(xué)包,其中就包括Numpy、Pandas、
Matplotlib等大量的科學(xué)包,可以避免去單獨安裝,里面也有管理工具conda,
方便單獨安裝。
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
1.2.4Python第三方庫簡介
requests:request請求是一個HTTP庫,它使用Apache2許可的開源協(xié)議。
requests使用和urlib使用對比,就會發(fā)現(xiàn)urlib在使用中非常不舒服。
requests請求變得比urlib更方便,這也可以節(jié)省我們大量的工作。
Re:正則表達式解析和處理功能庫,主要用于字符串匹配,調(diào)用方法import
re。
Lxml:lxml是Python的第三方解析庫,lxml庫提供了一個etree模塊,
該模塊專門用來解析HTML/XML文檔。
NumPy:Numpy庫是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python
庫,NumPy庫的數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效。
pandas:將得到的數(shù)據(jù)分析并保存為CSV文件,python數(shù)據(jù)分析高層次應(yīng)
用庫,還可以進行數(shù)據(jù)清洗。
matplotlib:繪圖庫,主要是偏向于二維繪圖包括折線圖、條形圖、扇形圖、
散點圖、直方圖等等。
Pyecharts:Pyecharts是一個用于生成Echart圖的類庫。它可以連接到
python,并直接使用數(shù)據(jù)從python生成圖像。Echarts是百度的開源數(shù)據(jù)可視
化JS庫。生成的圖像可視化效果非常好
wordcloud:生成中文詞云的。
2需求分析
2.1可行性需求分析
1、技術(shù)可行性
Python是一門簡單的面向?qū)ο缶幊陶Z言。語法簡潔明了,使用方便,python
有著大量的內(nèi)置類型和模塊,以及第三方模塊。可以很方便的調(diào)用強大的第三
方庫,比如Numpy、Matplotlib以及pandas。本畢業(yè)設(shè)計中通過使用Python語
言來編寫程序從而實現(xiàn)數(shù)據(jù)的獲取,通過python的第三方庫進行數(shù)據(jù)的分析和
數(shù)據(jù)可視化的展示。
在數(shù)據(jù)獲取的過程中發(fā)現(xiàn)有些菜肴的數(shù)據(jù)是空的,我們將其當做異常數(shù)據(jù)
處理掉。隨后將爬取出來的原始數(shù)據(jù)暫時以txt格式儲存起來,在后續(xù)的數(shù)據(jù)預(yù)
處理和可視化中再進行調(diào)用。
2、項目可行性
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
互聯(lián)網(wǎng)發(fā)展,短視頻大量的出現(xiàn),讓我們可以足不出戶就可以看到外面的
世界。手機、電腦、互聯(lián)網(wǎng),當他們?nèi)齻€組合在一起,我們在家就能學(xué)到各種
各樣的東西。其中美食食譜的熱度也一直受大眾熱議。
本畢業(yè)設(shè)計通過采集美食杰網(wǎng)站內(nèi)菜系的數(shù)據(jù),分析我國東北菜的菜肴信
息。我們也將從工藝、口味、烹飪時間以及制作難度等方面對其進行深度剖析,
分析出有價值的信息,將其可視化最后根據(jù)結(jié)果得出結(jié)論。
2.2采集目標功能分析
本畢業(yè)設(shè)計的數(shù)據(jù)集的來源是美食杰網(wǎng)站,是通過python爬取美食杰網(wǎng)站
內(nèi)東北菜所有菜肴的信息。數(shù)據(jù)清洗后共521條記錄,爬取完成后并檢查數(shù)據(jù)的
準確性,確定爬取出來的數(shù)據(jù)無誤。
分析美食杰網(wǎng)站網(wǎng)頁信息,明確我們需要爬取的美食參數(shù)有菜肴名稱、作者、
收藏、瀏覽、工藝、口味、制作時間、制作難度等數(shù)據(jù),在對原始數(shù)據(jù)進行預(yù)處
理后我們會對其數(shù)據(jù)進行多個維度的分析。例如,從收藏的數(shù)量對其進行分析,
得到網(wǎng)友的鐘意美食排行榜。又或者想要得到東北菜各口味的喜愛程度,可以
對所采集的數(shù)據(jù)進行口味百分比分析。
2.3關(guān)鍵技術(shù)分析
2.3.1網(wǎng)絡(luò)爬蟲技術(shù)
你刷微博,你有一個特別喜歡的微博名人想摘抄他的評論制作語錄,你怎
么辦,是一個一個的手動復(fù)制粘貼嗎?這種方法的確是可以的,如果你發(fā)現(xiàn)了
一條爆炸性新聞,你想把新聞底下的評論全部都收集下來并且分析,那這個時
候你又怎么辦,是一個一個的手動復(fù)制粘貼嗎?拼手速?不太符合顯示,爆炸
性的新聞下評論肯定會有成千上萬條。再比如工作上需要獲取一個大量的數(shù)據(jù)
用來支撐實驗,難道到一條一條的去找嗎?
爬蟲可以解決這個問題,爬蟲技術(shù)主要可以幫助我們做兩類事情,一是數(shù)
據(jù)獲取需求,主要針對特定規(guī)則下大數(shù)據(jù)獲?。欢亲詣踊枨?,主要應(yīng)用在
類似信息聚合、搜索等。大大提高了工作效率和質(zhì)量。
簡而言之,爬蟲是一種檢測機器。其基本原則是模仿人類行為,瀏覽多個
網(wǎng)站,按下按鈕,研究數(shù)據(jù)或檢索這些信息。如果使用專業(yè)表達式,最簡單的
爬行動物是通過程序通過技術(shù)手段模擬人類的操作,在服務(wù)器上獲得大量數(shù)據(jù),
首先解釋您需要的信息,然后決定程序應(yīng)該做什么。我們可以接收在網(wǎng)站上標
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
記的鏈接并繼續(xù)到下一頁。并且還可以將直接獲得的信息保存在場所或數(shù)據(jù)庫
中。當然,這些是傳統(tǒng)意義上的爬蟲,通過挖掘匿名社區(qū)和收集所謂的極端評
論,可以提高效率。但在當今的網(wǎng)絡(luò)爬蟲技術(shù)中,大師與大公司之間的游戲不
再局限于網(wǎng)絡(luò)方面,還涉及客戶端逆向和動態(tài)調(diào)試分析。真正的攻擊和防御場
景以及爬蟲攻擊帶來的巨大好處遠遠超出了人們的想象。
爬蟲最基本的功能是抓取。我們已經(jīng)習(xí)慣于在HTTPS請求恢復(fù)數(shù)據(jù)并分析
我們需要的數(shù)據(jù)的過程,這一個過程也被稱為一次“抓取”。例如,在百度上
手動搜索“張三”,這是HTTPS發(fā)送到百度服務(wù)器的請求。爬蟲的“抓取”是
模仿人類的行為。然而,它是由機器或程序批量量啟動的,而不是手動發(fā)送請
求。而我們經(jīng)常使用的百度,就是利用了這種爬蟲技術(shù),每天向多個網(wǎng)站發(fā)送
無數(shù)爬蟲,獲取它們的信息,然后排隊等待檢索。
科技是復(fù)雜的,網(wǎng)絡(luò)爬蟲技術(shù)技術(shù)的使用需要注意法律邊界。眾所周知的
是爬取以下三類數(shù)據(jù)是違法的,第一種是有著作權(quán)的數(shù)據(jù),這些數(shù)據(jù)是受著作
權(quán)法保護的;第二種是用戶的個人信息以及個人隱私數(shù)據(jù);第三種是一些APP
上面的用于評價,這些數(shù)據(jù)雖然是用戶產(chǎn)生的,但是是APP應(yīng)用的核心競爭力
主要來源,所以這些數(shù)據(jù)受不當競爭法的保護。爬蟲技術(shù)是一把雙刃劍,一個不
小心可能就會傷害到自己和他人,所以我們技術(shù)人員要懂法、守法。在法律允許
的范疇內(nèi)去編寫自己的腳本程序,不要一不小心半只腳踏進犯罪的深淵。
有爬蟲技術(shù),那也一定存在反爬取的技術(shù)了。因此,為什么要反爬,答案是
顯而易見的。跟蹤器流量可能會增加服務(wù)器的負載。爬蟲的過度爬取將影響服
務(wù)的正常運作,并造成收入損失。另一方面,一些基本數(shù)據(jù)的泄露可能會使數(shù)
據(jù)所有者缺乏競爭力。
2.3.2文件存取技術(shù)
Python內(nèi)置txt模塊如圖2-1顯示:
圖2-1python內(nèi)置txt模塊圖
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
2.3.3可視化技術(shù)
可視化是指利用計算機圖形和圖像處理技術(shù)將數(shù)據(jù)轉(zhuǎn)化為圖形或圖像,在
屏幕上顯示,然后進行交互式處理的理論、方法和技術(shù)。我們當獲取到的數(shù)據(jù)
是一串串冗長的字符串,上面寫的一條條信息或許我們能夠看懂讀懂,但是當它
成千上萬的時候我們短時間內(nèi)很得到我們想要的價值,我們需要進行深入的了
解和分析。對這一坨枯燥而乏味的數(shù)據(jù)集進行處理完畢后,我們就要導(dǎo)入需要的
第三方庫將數(shù)據(jù)合理的進行判斷,決定使用什么樣的方式繪畫圖形才能最好、并
且直觀的表達出數(shù)據(jù)集的信息,讓人一看就能提取到有用的價值。
多年來可視化的技術(shù)也逐漸發(fā)展成為了一下三類:科學(xué)可視化、信息可視
化、可視化分析。近些年來,這3個子領(lǐng)域出現(xiàn)了逐漸融合的趨勢。通常統(tǒng)稱
為“大數(shù)據(jù)可視化”。可視化技術(shù)在數(shù)據(jù)處理中扮演著重要角色,它們的作用
在于,將復(fù)雜的數(shù)據(jù)變得清晰直觀、易于分析,讓使用者能夠更加深入地理解
數(shù)據(jù)并做出精準的決策。
本項目的數(shù)據(jù)可視化用到了Matplotlib庫,Matplotlib是一個Python的
數(shù)據(jù)可視化庫,是Python中最流行的數(shù)據(jù)可視化庫之一,可以生成各種圖表,
包括折線圖、散點圖、直方圖、餅圖、詞云圖等等,有助于使用人員向其他人
展示他們的數(shù)據(jù)發(fā)現(xiàn)和分析結(jié)果,更加直觀地了解數(shù)據(jù)分布、趨勢。繪制漂亮
的圖表也可以提高數(shù)據(jù)分析結(jié)果被理解和接受的概率。Matplotlib在數(shù)據(jù)可視
化中是不可或缺的,使用它可以更加方便地進行數(shù)據(jù)分析和可視化。
3數(shù)據(jù)采集
3.1采集頁面分析
我們首先通過谷歌瀏覽器搜索美食杰網(wǎng)站的官方網(wǎng)頁,然后找到東北菜菜
肴目錄集頁面觀察圖3-1,其中URL為:/caixi/dongbeicai/
然后點擊頁面下方的分頁按鈕,同時觀察URL,發(fā)現(xiàn)URL有變化。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-1數(shù)據(jù)網(wǎng)址頁面圖
按F12調(diào)出開發(fā)者工具,刷新頁面,如圖3-2。
圖3-2開發(fā)者工具圖
利用全局搜索工具定位所需數(shù)據(jù)位置,點擊開發(fā)者工具上面的Headers字
段,分析這是個什么請求,發(fā)現(xiàn)這個是一個GET請求,那我們可以直接在添加請
求頭后直接爬取該網(wǎng)站。
通過觀察發(fā)現(xiàn)該網(wǎng)站提供了各菜肴的詳細地址,我們將所有地址采集下來
進行第二次爬取即可獲得所有菜肴的詳細信息,如圖3-3。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-3二級網(wǎng)址圖
3.2字段分析
打開網(wǎng)頁的選擇欄,然后將選擇欄目定位到菜肴信息集中的位置,也就是定
位到所需數(shù)據(jù)所在的位置,然后跳出開發(fā)者工具頁面刷新一下頁面再進入,點擊
開發(fā)者工具界面上方的網(wǎng)頁元素Elements按鈕,如圖3-4,可以看到我們需要的
所有的數(shù)據(jù)信息。并且通get方法來獲得響應(yīng)的數(shù)據(jù),并且將數(shù)據(jù)儲存為TXT
格式的文件。
圖3-4分析數(shù)據(jù)類型頁面圖
3.3編程實現(xiàn)
導(dǎo)入所需庫
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖3-5導(dǎo)入所需庫頁面圖
設(shè)置請求頭,偽裝成瀏覽器訪問服務(wù)器。
圖3-6請求頭內(nèi)容頁面圖
代碼實現(xiàn)如下:
importrequests
fromlxmlimportetree
importre
headers={
'User-Agent':'User-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,
likeGecko)Chrome/63.0.3239.132Safari/537.36'
}
#東北菜網(wǎng)頁
dongbeicai_urls=['/caixi/dongbeicai/{}'.format(i)foriinrange(1,26)]
#獲取所有菜譜地址
defget_caipu_urls(url):
data=requests.get(url,headers=headers).text
urls=re.findall(r'<ahref="(.*?)"class="list_s2_item_img"style=.*?</a>',data)
returnurls
#獲取菜譜信息
defget_info():
foruincaipu_urls:
try:
data=requests.get(u,headers=headers).text
html=etree.HTML(data)
caiming=html.xpath('//*[@id="app"]/div[1]/div/div[2]/h1/text()')[0]
zuozhe=html.xpath('//*[@id="app"]/div[1]/div/div[2]/span/a/text()')[0]
shoucang=re.search(r'</a>·(.*?)收藏',data,re.DOTALL).group(1)
liulan=re.search(r'收藏·(.*?)瀏覽</span>',data,re.DOTALL).group(1)
gongyi=
html.xpath('//*[@id="app"]/div[1]/div/div[2]/div[1]/div[1]/strong/text()')[0]
kouwei=
html.xpath('//*[@id="app"]/div[1]/div/div[2]/div[1]/div[2]/strong/text()')[0]
haoshi=
html.xpath('//*[@id="app"]/div[1]/div/div[2]/div[1]/div[3]/strong/text()')[0]
nandu=
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
html.xpath('//*[@id="app"]/div[1]/div/div[2]/div[1]/div[4]/strong/text()')[0]
#將所有數(shù)據(jù)保存到列表中
caipu_info.append([caiming,zuozhe,shoucang,liulan,gongyi,
kouwei,haoshi,nandu])
except:
print('菜譜網(wǎng)址{}數(shù)據(jù)缺失'.format(u))
#break
#將獲取到的數(shù)據(jù)添加到文件中
defsave_txt(txt_name):
withopen(txt_name,'w+',encoding='utf-8')asf1:
foriincaipu_info:
forjini:
ifj==i[-1]:
f1.write(j+'\n')
else:
f1.write(j+'\t')
if__name__=='__main__':
caipu_urls=[]
caipu_info=[['caiming','zuozhe','shoucang','liulan','gongyi','kouwei','haoshi','nandu']]
foriinrange(len(dongbeicai_urls)):
caipu_urls+=get_caipu_urls(dongbeicai_urls[i])
#break
#print(caipu_urls)
get_info()
save_txt('dongbeicai_data.txt')
4數(shù)據(jù)清洗與處理
數(shù)據(jù)清洗與處理是大數(shù)據(jù)下的產(chǎn)物。顧名思義,數(shù)據(jù)清洗,也稱為數(shù)據(jù)清
理,一般來說,數(shù)據(jù)清理是指識別和替換不完整、不準確、不相關(guān)或有問題的
數(shù)據(jù)和記錄。我們通過網(wǎng)絡(luò)爬蟲技術(shù)下獲取大量的數(shù)據(jù),在這些數(shù)據(jù)中我們會
得到一些缺失值、不準確、不完整和不相關(guān)等有問題的數(shù)據(jù)和記錄。為了讓數(shù)
據(jù)變得更加完整和有價值,我們通常會使用數(shù)據(jù)清洗將有問題的數(shù)據(jù)去除掉或
者糾正,將符合我們要求的數(shù)據(jù)保留。
本畢業(yè)設(shè)計中我們需要將爬下來的數(shù)據(jù)和網(wǎng)頁原數(shù)據(jù)進行比對,并且檢查
是否出現(xiàn)空值、錯值,還有數(shù)據(jù)的位置是否正確。根據(jù)不同的需求我們要對數(shù)據(jù)
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
進行不同的處理。
4.1數(shù)據(jù)清洗
圖4-1數(shù)據(jù)清洗準備頁面圖
經(jīng)過比對和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失,錯位還有空值,那么我們根據(jù)需求
將有效數(shù)據(jù)統(tǒng)一規(guī)劃去掉不要的行列數(shù)據(jù),防止數(shù)據(jù)冗余。因此我們只需保留需
要的數(shù)據(jù),然后整理為原網(wǎng)頁格式存入txt文件中,留存后續(xù)作為統(tǒng)計分析、可
視化使用。
圖4-2數(shù)據(jù)清洗完成界面圖
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
4.2數(shù)據(jù)儲存
為了防止數(shù)據(jù)的丟失,我們都會將數(shù)據(jù)進行儲存?zhèn)浞荩寯?shù)據(jù)以某種格式
記錄在計算機內(nèi)部或者外部儲存介質(zhì)上。數(shù)據(jù)儲存的方法有很多種,常見得可以
直接用記事本格式儲存(txt),或者直接用其他文件的形式儲存csv、excel、
json,以及比較特殊的數(shù)據(jù)庫,本畢業(yè)設(shè)計數(shù)據(jù)儲存我們用到的是txt、MySQL。
如圖4-3和圖4-4所示:
圖4-3數(shù)據(jù)存儲為csv頁面圖
圖4-4數(shù)據(jù)存儲MySQL頁面圖
4.3編程實現(xiàn)
創(chuàng)建數(shù)據(jù)庫。
圖4-5創(chuàng)建數(shù)據(jù)庫MySQL頁面圖
創(chuàng)建數(shù)據(jù)表。
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖4-6創(chuàng)建數(shù)據(jù)表MySQL頁面圖
導(dǎo)入本地txt文件數(shù)據(jù)。
圖4-7導(dǎo)入本地文件MySQL頁面圖
驗證存入數(shù)據(jù)是否正確。
圖4-4驗證存入數(shù)據(jù)是否正確MySQL頁面圖
5數(shù)據(jù)統(tǒng)計與分析
5.1數(shù)據(jù)準備
導(dǎo)入相關(guān)庫,使用pandas加載源數(shù)據(jù),如圖5-1、5-2。
圖5-1數(shù)據(jù)準備頁面圖
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
圖5-2數(shù)據(jù)加載頁面圖
5.2數(shù)據(jù)展示
5.2.1依據(jù)菜譜工藝進行統(tǒng)計與分析
圖5-3數(shù)據(jù)展示頁面圖
從圖5-3中可以得知在烹飪技術(shù)方面,發(fā)布者更青睞于燉、炒和煮以及燒
這樣子的工藝做法,用戶更多的關(guān)于原始加工和其他加工方法的作品,這些作
品現(xiàn)在可能與人們?nèi)找嫣岣叩慕】狄庾R有關(guān)。相反腌、拌、泡這樣讓食物溫度
較低的工藝做法受少數(shù)人群喜愛。普通生食和水加工食品比用油加工食品更健
康。選擇水處理和油處理將降低美食食譜發(fā)布者成為非常受歡迎的視頻作者的
可能性。眾所周知,用油加工的東西的烹飪方法并不特別健康,對于烹飪初學(xué)
者來說,烘焙和烘焙操作也有一定的風(fēng)險。簡單易學(xué)的生菜烹飪方法,將更好
地滿足需求人群對食品生產(chǎn)的期望。
美食網(wǎng)站的發(fā)布者據(jù)此可以調(diào)整自己發(fā)布作品的烹飪方式從而提高自身關(guān)
注度,同時樹立公司健康形象,在快速的經(jīng)濟增長的形式下,對于美食公司而
言,公司的品牌知名度和形象至關(guān)重要。
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2.2依據(jù)菜譜難度進行統(tǒng)計與分析
圖5-4數(shù)據(jù)展示頁面圖
從圖5-4中可以得知在菜譜難度方面,大部分的的視頻制作者更喜歡發(fā)布
難度較低的食譜,而大神級別的作者更喜歡發(fā)布中高難度的食譜。菜肴的難度
在一定程度上反映了發(fā)布者的烹飪技能,這表明烹飪技能高的發(fā)布者更有可能
吸引粉絲。為了擴大公司的業(yè)務(wù)規(guī)模,提高銷售業(yè)績,美食公司將充分利用現(xiàn)
代網(wǎng)絡(luò)技術(shù)突破地理空間的限制,讓任何想吃東北菜的人都能及時吃到東北菜。
讓視頻作者通過這種方式吸引更多全國各地粉絲,可以促使該公司的業(yè)務(wù)范圍
擴大到全國各地,而不僅僅是一些城市。
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計
5.2.3依據(jù)菜譜收藏數(shù)進行統(tǒng)計與分析
圖5-5數(shù)據(jù)展示頁面圖
從圖5-5可以得知東北菜系中前十的收藏量中有兩個烤冷面,分別是收藏量
第一的東北烤冷面和收藏量第十的自制烤冷面,作品的熱度在一定程度上能夠
代表人們對作品的認可程度,可以很大程度的促進視頻發(fā)布者的信心,以及更
多食譜創(chuàng)作發(fā)布,增加該網(wǎng)站的瀏覽量擴大知名度。
收藏量更多標志著更受大眾的喜歡,如今都是短視頻時代,也許會轉(zhuǎn)發(fā)給
親朋好友,然后增加了該網(wǎng)站的到訪量和忠實受眾。
5.3綜述
綜上,隨著互聯(lián)網(wǎng)的發(fā)展食品制作等領(lǐng)域的價值得到了充分的探索。告別了
過去簡單的圖形顯示模式,將食譜與短片相結(jié)合的應(yīng)用已成為當前發(fā)展的新熱
點。隨著人們健康意識的提高,人們越來越關(guān)注自己的健康飲食,
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 毛絨玩具生產(chǎn)管理制度
- 生產(chǎn)車間成品管理制度
- 2025四川德陽市旌陽區(qū)孝泉鎮(zhèn)衛(wèi)生院(旌陽區(qū)第二人民醫(yī)院)招聘2人備考題庫及答案詳解(考點梳理)
- 孔雀魚生產(chǎn)管理制度
- 2025年企業(yè)文化與員工培訓(xùn)知識考察試題及答案解析
- 2026年上半年湖南株洲市市直單位公益性崗位招聘16人備考題庫及完整答案詳解
- 2025山東省婦幼保健院(山東省婦女兒童醫(yī)院)招聘27人備考題庫完整答案詳解
- 2026廣東江門市第三人民醫(yī)院招聘小工1人備考題庫及1套完整答案詳解
- 2026年黃山學(xué)院師資博士后招聘11名備考題庫及1套完整答案詳解
- 2025廣東省輕工業(yè)技師學(xué)院招聘工作人員1人備考題庫及答案詳解參考
- 華東理工大學(xué)2026年管理與其他專業(yè)技術(shù)崗位統(tǒng)一招聘備考題庫含答案詳解
- 2026上海碧海金沙投資發(fā)展有限公司社會招聘參考題庫含答案
- 2025年中小學(xué)校長選拔筆試試題及答案
- 光伏發(fā)電項目設(shè)備維護合同范本
- 2026內(nèi)蒙古華能扎賚諾爾煤業(yè)限責(zé)任公司招聘50人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年京東慧采廠直考試京東自營供應(yīng)商廠直考試題目及答案
- JJG 1148-2022 電動汽車交流充電樁(試行)
- 周黑鴨加盟合同協(xié)議
- 黃色垃圾袋合同
- 實驗室質(zhì)量控制操作規(guī)程計劃
- 骨科手術(shù)術(shù)前宣教
評論
0/150
提交評論