<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          我用Python爬取美食網(wǎng)站3032個(gè)菜譜并分析,真香!

          共 1605字,需瀏覽 4分鐘

           ·

          2020-09-04 12:00

          點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

          回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書

          江雨霏霏江草齊,六朝如夢(mèng)鳥空啼。


          這是巨變的中國(guó),人和食物,比任何時(shí)候走的更快。近日,J哥為了尋味中國(guó),奔走于某五線城市的大街小巷,結(jié)果除了累,啥也沒尋到。

          于是,J哥默默打開了各大美食網(wǎng)站,如豆果美食、下廚房、美食天下等。經(jīng)過甄選,最終爬取了豆果網(wǎng)最新發(fā)布的中國(guó)菜系共3032個(gè)菜譜,然后清洗數(shù)據(jù)并做可視化分析,試圖走上美食博主的康莊大道。


          數(shù)據(jù)獲取


          豆果美食網(wǎng)的數(shù)據(jù)爬取比較簡(jiǎn)單,如果您對(duì)爬蟲感興趣,可查看J哥往期原創(chuàng)文章「實(shí)戰(zhàn)|手把手教你用Python爬蟲(附詳細(xì)源碼)」,思路一致。


          豆果美食網(wǎng)


          本次爬取的數(shù)據(jù)范圍為川菜、粵菜、湘菜等八個(gè)中國(guó)菜系,包含菜譜名、鏈接、用料、評(píng)分、圖片等字段。限于篇幅,僅給出核心代碼。


           1#?主函數(shù)
          2def?main(x):
          3????url?=?'https://www.douguo.com/caipu/{}/0/{}'.format(caipu,x*20)
          4????print(url)
          5????html?=?get_page(url)
          6????parse_page(html,caipu)
          7
          8if?__name__?==?'__main__':
          9????caipu_list?=?['川菜',?'湘菜','粵菜','東北菜','魯菜','浙菜','湖北菜','清真菜']?#中國(guó)菜系
          10????start?=?time.time()??#?計(jì)時(shí)
          11????for?caipu?in?caipu_list:
          12????????for?i?in?range(22):
          13????????????#?爬取多頁(yè)
          14????????????main(x=i)
          15????????????time.sleep(random.uniform(1,?2))
          16????????????print(caipu,"第"?+?str(i+1)?+?"頁(yè)提取完成")
          17????end?=?time.time()
          18????print('共用時(shí)',round((end?-?start)?/?60,?2),?'分鐘')

          爬蟲核心代碼



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


          短短幾分鐘就爬下了3032個(gè)菜譜信息,為了方便可視化分析,還需要對(duì)爬取的數(shù)據(jù)進(jìn)行簡(jiǎn)單清洗。

          本文數(shù)據(jù)清洗主要用到Python的Pandas庫(kù),如果您對(duì)Pandas感興趣,可查看J哥往期原創(chuàng)專輯「Pandas基礎(chǔ)系列」,共五篇

          導(dǎo)入數(shù)據(jù)


          用pd.read方法導(dǎo)入爬取到的菜譜數(shù)據(jù),并添加列名。預(yù)覽數(shù)據(jù)如下:



          刪除重復(fù)項(xiàng)


          爬蟲過程中少量菜譜數(shù)據(jù)被重復(fù)抓取,需要用drop_duplicates方法刪除。



          缺失值處理


          通過info方法發(fā)現(xiàn)少量記錄含有缺失值,用dropna方法刪除。



          評(píng)分字段清洗


          爬取的評(píng)分字段含有多余的字符串且為object類型,需要替換多余字符串并轉(zhuǎn)換為數(shù)字類型,方便后續(xù)計(jì)算。



          添加用料數(shù)字段


          為方便菜譜用料分析,需要根據(jù)用料字段計(jì)算出每個(gè)菜譜的用料數(shù)量。由于用料字段都是以逗號(hào)分隔,計(jì)算逗號(hào)數(shù)即可間接得到。




          數(shù)據(jù)可視化


          本文數(shù)據(jù)可視化主要用到pyecharts庫(kù),它能輕松實(shí)現(xiàn)酷炫的圖表效果。如果您對(duì)可視化感興趣,可查看J哥往期原創(chuàng)文章「數(shù)據(jù)可視化分析系列」,涉及地產(chǎn)、電商、招聘等各領(lǐng)域


          菜譜評(píng)分分布


           1from?pyecharts?import?options?as?opts
          2from?pyecharts.charts?import?Page,?Pie
          3cut?=?lambda?x?:?'4分以下'?if?x?4?else?('4.1-4.5分'?if?x?<=?4.5?else('4.6-4.9分'?if?x?<=?4.9?else?'5分'))
          4df['評(píng)分分布']?=?df['評(píng)分'].map(cut)
          5df2?=?df.groupby('評(píng)分分布')['評(píng)分'].count()
          6df2?=?df2.sort_values(ascending=False)
          7df2?=?df2.round(2)
          8print(df2)
          9c?=?(
          10????????Pie()
          11????????.add(
          12????????????"",
          13????????????[list(z)?for?z?in?zip(df2.index.to_list(),df2.to_list())],
          14????????????radius=["20%",?"80%"],#?圓環(huán)的粗細(xì)和大小
          15????????????rosetype='area'?#玫瑰圖
          16????????)
          17????????.set_global_opts(
          18????????????title_opts=opts.TitleOpts(title="菜譜評(píng)分分布"
          19?????????????????????????????????????),
          20????????????legend_opts=opts.LegendOpts(
          21????????????????orient="vertical",?pos_top="5%",?pos_left="2%"?,textstyle_opts=opts.TextStyleOpts(font_size=14)#?左面比例尺
          22????????????),
          23
          24
          25????????)
          26????????.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:go7utgvlrp%",font_size=18),
          27??????????????????????)
          28????)
          29c.render_notebook()

          玫瑰圖代碼


          菜譜評(píng)分分布玫瑰圖


          豆果美食網(wǎng)菜譜評(píng)分實(shí)行5分制。由上圖可知,4分以下的菜譜占比不到2%,滿分菜譜高達(dá)32.6%,可見用戶對(duì)中國(guó)菜系菜譜評(píng)價(jià)普遍較高


          各菜系菜譜數(shù)量對(duì)比


           1from?pyecharts?import?options?as?opts
          2from?pyecharts.charts?import?Page,?Pie?
          3df2?=?df.groupby('菜系')['評(píng)分'].count()?#按菜系分組,對(duì)評(píng)分計(jì)數(shù)
          4df2?=?df2.sort_values(ascending=False)?#降序
          5print(df2)
          6c?=?(
          7????????Pie()
          8????????.add("",?[list(z)?for?z?in?zip(df2.index.to_list(),df2.to_list())])
          9????????.set_global_opts(title_opts=opts.TitleOpts(title="各菜系菜譜數(shù)量占比",subtitle="數(shù)據(jù)來(lái)源:豆果美食"))
          10????????.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:?{c}"))
          11????)
          12c.render_notebook()

          餅圖代碼


          各菜系菜譜數(shù)量占比餅圖


          由上圖可知,川菜和粵菜菜譜數(shù)量較多,顯示出作為中國(guó)“八大菜系”成員的地位。湖北菜和清真菜菜譜數(shù)量較少,相對(duì)更為小眾。

          各菜系評(píng)分對(duì)比


           1from?pyecharts?import?options?as?opts
          2from?pyecharts.charts?import?Page,?Pie
          3df2?=?df.groupby('菜系')['評(píng)分'].mean()
          4df2?=?df2.sort_values(ascending=False)
          5df2?=?df2.round(2)
          6print(df2)
          7c?=?(
          8????????Pie()
          9????????.add(
          10????????????"",
          11????????????[list(z)?for?z?in?zip(df2.index.to_list(),df2.to_list())],
          12????????????radius=["40%",?"75%"],???#?圓環(huán)的粗細(xì)和大小
          13????????)
          14????????.set_global_opts(
          15????????????title_opts=opts.TitleOpts(title="各菜系平均評(píng)分"),
          16????????????legend_opts=opts.LegendOpts(
          17????????????????orient="vertical",?pos_top="5%",?pos_left="2%"??#?左面比例尺
          18????????????),
          19????????)
          20????????.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
          21????)
          22c.render_notebook()

          環(huán)狀圖代碼


          各菜系平均評(píng)分環(huán)狀


          由上圖可知,各菜系評(píng)分非常接近,用戶平均評(píng)分都在4.6分以上。相對(duì)一致的評(píng)分,導(dǎo)致通過用戶評(píng)分來(lái)評(píng)價(jià)菜譜的可信度降低。


          各菜系用料數(shù)量對(duì)比


           1from?pyecharts.charts?import?Bar,Pie
          2from?pyecharts?import?options?as?opts
          3df1?=?df.groupby('菜系')['用料數(shù)'].mean()?#按菜系分組,對(duì)評(píng)分計(jì)數(shù)
          4df1?=?df1.sort_values(ascending=False)?#降序
          5df1?=?df1.round(0)
          6print(df1)
          7bar?=?Bar()
          8bar.add_xaxis(df1.index.to_list())
          9bar.add_yaxis("用料數(shù)量",df1.to_list())
          10bar.set_global_opts(title_opts=opts.TitleOpts(title="各菜系用料數(shù)量",subtitle="數(shù)據(jù)來(lái)源:豆果美食"))
          11bar.render_notebook()

          柱狀圖代碼


          各菜系用料數(shù)量柱狀圖


          由上圖可知,川菜和東北菜用料較足。川菜素有取材廣泛、調(diào)味多、菜式多樣等特點(diǎn),雖然東北菜沒有排在傳統(tǒng)的“八大菜系”中,但豪邁熱情的東北人從不吝嗇菜肴里的用料。

          粵菜更注重菜品的原味鮮香,具有清、鮮、爽、嫩、滑等特色,因此用料相對(duì)更少。清真飲食風(fēng)俗源于伊斯蘭教,部分食材屬于禁忌物,因此用料也不多。


          川菜用料分析


          1#?繪制詞云圖
          2text1?=?get_cut_words(content_series=df[df['菜系']=='川菜']['用料'])
          3stylecloud.gen_stylecloud(text='?'.join(text1),?max_words=1000,
          4??????????????????????????collocations=False,
          5??????????????????????????font_path='字酷堂清楷體.ttf',
          6??????????????????????????icon_name='fas?fa-thumbs-up',
          7??????????????????????????size=653,
          8??????????????????????????output_name='./川菜.png')
          9Image(filename='./川菜.png')?

          詞云圖代碼


          川菜用料詞云圖


          由川菜用料詞云圖可知,川菜主要用料包括花椒、豆瓣醬和干辣椒。不怕辣的四川人喜好種植花椒,四川火鍋也因?yàn)橛辛嘶ń返募尤敫形Γf(wàn)萬(wàn)的海內(nèi)外尋味者奔涌相隨。

          料實(shí)材真,一般都能出美味。川菜用料最足的菜譜為川味砂鍋之足不出戶的麻辣燙,共用料35種。


          川味砂鍋之足不出戶的麻辣燙? ? 圖片來(lái)源:豆果美食


          用料明細(xì):毛肚,黃喉,鮮牛肉片,自制肉,鴨血,金針菇,平菇,豆芽,苕粉,冬筍片,白菜,萵筍葉,鵪鶉蛋(煮熟剝殼),豬骨湯,豬油,牛油,植物油(菜油上佳),姜片,大粒的蒜,郫縣豆瓣,八角,茴香,桂皮,丁香,陳皮,香葉,白胡椒粉,冰糖,生抽,鹽,蔥結(jié),花椒,干辣椒,雞精丸,午餐肉


          粵菜用料分析


          粵菜用料詞云圖


          由粵菜用料詞云圖可知,粵菜主要用料包括胡椒粉、五花肉和白糖。粵菜的圣地在順德,粵菜注重質(zhì)和味,口味相對(duì)清淡,力求清中求鮮、淡中求美。

          粵菜用料最足的菜譜為廣式腸粉,共用料23種。


          廣式腸粉? ??圖片來(lái)源:豆果美食


          用料明細(xì):粉漿用料,粘米粉(米打的粉),澄面(小麥淀粉),土豆淀粉,粟米粉(玉米淀粉),水,醬汁用料,獨(dú)頭蒜,大蒜籽,姜片,香菜(不吃香菜的可用蔥代替),雞湯,鮮味生抽,老抽,蠔油,蜂蜜,魚露(可不放),雞精(個(gè)人喜歡就放,不放也很鮮了),水,腸粉里面放的料,肉末,雞蛋,生菜葉


          湘菜用料詞云圖


          湘菜用料詞云圖


          由湘菜用料詞云圖可知,湘菜主要用料包括辣椒、大蒜、花椒等。辣不怕的湖南人以辣椒為生,尤其以剁椒出名。J哥雖不是湖南人,但在湖南待了幾年后,目前也成了個(gè)胖子。美食雖美,可不要貪多哦~

          湘菜用料最足的菜譜為麻辣鹵鴨三件,共用料20種。


          麻辣鹵鴨三件? ??圖片來(lái)源:互聯(lián)網(wǎng)


          用料明細(xì):鴨爪(清水泡一小時(shí)),鴨翅膀(清水泡一小時(shí)啊),鴨腸(洗干凈后捆成一個(gè)個(gè)小捆),白芷,桂皮,香葉,大料(兩個(gè)焯水用,三個(gè)鹵用),干辣椒(根據(jù)個(gè)人喜辣程度放),小茴香,花椒,麻椒,草果,生姜(一塊焯水去味用,一塊鹵用),蒜瓣(全部去皮),辣椒醬(根據(jù)個(gè)人喜辣放),老抽,生抽,料酒,白糖,鹽


          東北菜用料詞云圖


          東北菜用料詞云圖


          由東北菜用料詞云圖可知,東北菜主要用料包括土豆、面粉、胡蘿卜等。東北菜在做法上也融合了一些宮廷菜點(diǎn)和漢族飲食所長(zhǎng),利用東北特產(chǎn)原料和純綠色食品原料。土豆和胡蘿卜在黑土地的孕育下為東北菜源源不斷輸送著美味配方。

          東北菜用料最足的菜譜為翡翠白菜水餃,共用料20種。


          翡翠白菜水餃? ??圖片來(lái)源:豆果美食


          用料明細(xì):面皮制作,面粉(綠色面團(tuán)所用),面粉(白色面團(tuán)所用),小白菜葉(取汁),清水,餡料制作,豬五花肉,大白菜,胡蘿卜,蔥碎,姜沫,鹽,生抽,老抽,蠔油,芝麻油,糖,雞精,花椒粉,花生油


          湖北菜用料詞云圖


          湖北菜用料詞云圖


          由湖北菜用料詞云圖可知,湖北菜主要用料包括糯米、花椒、面粉等。千湖之省湖北坐落于江漢平原,同時(shí)作為重要的商品糧基地,從來(lái)不缺美食原料。

          湖北菜用料最足的菜譜為家常美味——香菇雞肉面,共用料23種。


          常美味——香菇雞肉面? ??圖片來(lái)源:豆果美食


          用料明細(xì):雞脯肉或雞腿肉,香菇,刀削面或?qū)捗?芹菜,青菜,郫縣紅油豆瓣,蔥,姜,蒜,干辣椒,花椒,八角,老抽,生抽,料酒,淀粉,蛋清,十三香,白胡椒,雞精,鹽,蒜苗,香菜


          浙菜用料詞云圖


          菜用料詞云圖


          浙菜主要用料包括白糖、冰糖、胡椒粉等。俗話說(shuō)“上有天堂,下有蘇杭”,素有魚米之鄉(xiāng)之稱的浙江,賦予了浙菜豐富的原料。浙菜菜式小巧玲瓏,菜品甜而不膩。

          浙菜用料最足的菜譜為經(jīng)典糖醋排骨,共用料17種。


          經(jīng)典糖醋排骨? ??圖片來(lái)源:豆果美食


          用料明細(xì):豬肋排,小蔥段(煮排骨用),姜(煮排骨用),料酒(煮排骨用),冷水,綿白糖,米醋,香醋,老抽,鹽,綿白糖(澆汁用),米醋(澆汁用),香醋(澆汁用),淀粉(澆汁用),溫水(澆汁用),食用油,熟白芝麻


          魯菜用料詞云圖


          魯菜用料詞云圖

          魯菜主要用料包括面粉、胡蘿卜、蠔油等。魯菜講究原料質(zhì)地優(yōu)良,以本地用料為主。作為我國(guó)第二大小麥主產(chǎn)區(qū),能夠?yàn)槊娣鄣闹谱魈峁┏渥愕膬?chǔ)備,同時(shí)還盛產(chǎn)胡蘿卜、大白菜等蔬菜,成為魯菜常用的配菜來(lái)源。

          菜用料最足的菜譜為大白菜燉牛肉共用料28種。


          大白菜燉牛肉? ??圖片來(lái)源:豆果美食


          用料明細(xì):燉牛肉,牛肉,蔥姜,小香蔥,冰糖,八角,草果,小茴香,香葉,干辣椒,蒜,洋蔥,油,生抽,甜面醬,番茄醬,鹽,清水,啤酒,大白菜燉牛肉,大白菜,熟牛肉,牛肉湯,粉絲,食用油,蔥花,水淀粉,鹽


          清真菜用料詞云圖


          清真菜用料詞云圖


          清真菜主要用料包括蛋白、蛋清、面粉等。在我國(guó),包括回族、維吾爾族、哈薩克族等10個(gè)少數(shù)民族具有清真飲食習(xí)慣,清真菜最突出的特點(diǎn)在于飲食禁忌比較嚴(yán)格,因此在用料上明顯與其他菜系有所區(qū)別。清真菜的口味偏重咸鮮,汁濃味厚,肥而不膩,嫩而不膻。

          清真菜用料最足的菜譜為糖醋蛋白肉共用料15種。


          糖醋蛋白肉? ??圖片來(lái)源:豆果美食


          用料明細(xì):蛋白肉,尖椒,小米椒,蒜瓣,小蔥,食用油,糖,醋,蒸魚豆豉,生抽,黃酒,番茄醬,淀粉,清水,鹽


          聲明


          1.本數(shù)據(jù)分析只做學(xué)習(xí)研究之用途,提供的結(jié)論僅供參考,美食的烹飪涉及的影響因素還有很多,請(qǐng)獨(dú)立思考;


          2.作者與豆果美食無(wú)任何瓜葛,只是他家數(shù)據(jù)比較全面且干凈,便于數(shù)據(jù)分析,大家也可以去其他美食平臺(tái)看看;


          3.作者對(duì)傳統(tǒng)美食文化了解甚微,相關(guān)描述可能存在不盡完善之處,請(qǐng)勿對(duì)號(hào)入座。

          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          /今日留言主題/

          隨便說(shuō)一兩句吧~~

          瀏覽 139
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩A片一级无码免费 蜜桃 | 乌克兰一级操逼片 | 国色天香网站 | 亚洲视频在线视频观看 | 99精品国产麻豆99久久久久久 |