999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的美食數據爬取及可視化研究

2021-06-28 17:46:41依力·吐爾孫艾孜爾古麗
電腦知識與技術 2021年10期
關鍵詞:數據分析

依力·吐爾孫 艾孜爾古麗

摘要:本文主要研究中國菜譜里面的美食詞匯資源的爬取、構建、數據處理并對詞匯資源進行數據可視化分析。本文首先采用Python語言使用Scrapy框架進行數據爬取并對目標網站的網頁進行頁面分析,采集的是豆果美食網里最新發布的中國菜系菜譜,然后用Pandas、Numpy等庫進行清洗數據并做可視化分析。除此之外,用Pyecharts庫制作各大菜系菜品量的餅狀圖。最后通過Jieba庫進行中文分詞處理,篩選出高頻詞匯并制作了詞云圖。為了使乏味的文本數據散發活力,深入分析數據,以詞云圖展示數據分析的結果,增加數據可視化。

關鍵詞:美食詞匯;Python;網絡爬蟲;數據分析;詞云圖

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)10-0019-02

Abstract: This paper mainly studies the crawling, construction, data processing and data visualization analysis of Chinese cuisine vocabulary resources in Chinese recipes. In this paper, we first use Python language to Scrapy framework to crawl data and analyze the web pages of the target website. We collected the latest Chinese cuisine recipes from the Douguo Cuisine Network. Then we use libraries such as Pandas and Numpy to clean the data and do visual analysis. In addition, Pyecharts library is used to make pie charts of the quantity of dishes in each major cuisine. Finally, word segmentation is carried out through JIEBA library to screen out high-frequency words and make word cloud map. In order to make boring text data exude vitality, in-depth analysis of the data, the word cloud map to show the results of data analysis, increase data visualization.

Key words: food vocabulary; Python; Web crawler; Data analysis; Word cloud

非典、新冠肺炎等致命性疾病讓人們更加意識到健康飲食習慣的重要性。人工智能、大數據的發展對飲食詞匯數據的處理方面帶來了便利。不僅,計算語言學、統計學等交叉學科的發展使得處理飲食詞匯資源的數據引來了新思路和新角度,而且處理這些飲食數據資源促進了中國飲食文化、膳食結構、營養學、預防疾病學等學科方面的研究。

構建飲食詞匯資源并進行數據可視化對研究民俗飲食有著重要作用,這些數據有利于分析各地民俗飲食的結構。為進一步開展食物資源和增加菜譜品種方面的研究,對各個地方不同菜譜的原料及其用料使用情況、食品加工、飲食制作、飲食命名和飲食傳承有關的信息進行數據采集并對數據進行可視化研究是有必要的。

1 美食文本采集技術研究

1.1美食文本采集思路

隨著人工智能和大數據的發展,網絡上越來越大的數據量成為一種重要資源,如何從這些海量數據中快速有效的提取和分析有效數據并排除無效數據是信息處理技術的研究熱點。獲取網絡上有效數據的方法是網絡爬蟲技術。實現Web爬蟲技術,編寫好網站爬蟲的關鍵是利用更高效的爬蟲工具和爬蟲框架。于是Python語言提供了很多方便的爬蟲框架。Scrapy是基于Python開發的一個高層次的快速的網頁抓取框架,用于抓取Web站點信息并從頁面中提取結構化的數據[1]。因此本文完成網站的數據提取任務時便用到了Scrapy框架。文中采用了Scrapy框架來對數據進行提取,爬取的對象是豆果美食網站菜式菜系的中國菜。

在進行爬取豆果美食網站數據之前,為了編寫好代碼的邏輯并更有效地提取該網站數據,應該要弄明白并且分析美食網站的域名結構和層次。分析研究的網站,其URL鏈接結構以主域名為中心?[2],主域名下分有豆果美食網站的首頁、菜式菜系、中國菜等子域名,也就是導航部分。在子域名下是更詳細的各種菜系URL信息。此網站的結構進行分析就能提取菜系菜品所有URL,但是會回到首頁,因此進行URL的去重,建立環路。

該文爬取豆果美食網站菜式菜系里的所有中國菜系的菜品,獲取的內容包括菜譜鏈接、菜譜、用戶、用料、圖片、評分、菜系。通過對網站頁面的分析。通過美食網站的最新菜系頁面提取全部菜譜數據代碼,而不需要爬取所有URL。通過“最新菜系”網站獲取全部菜譜的策略是對比頁面跳轉URL的變化,因此可以通過對數字的遞增而得到所有數據。

1.2美食網站環境分析及采集

1.2.1美食網站頁面分析

想要得到爬取規則和相應的代碼信息,首先需要對美食網站內容進行結構分析。因此,進入豆果美食網,打開全部分類,找到菜式菜系目錄下的中國菜。本次需要爬取的內容是中國菜下的蘇菜、新疆菜、東北菜等十五個中國菜系。這里面有效處理提取的數據是各大菜系中的菜譜名,菜譜鏈接、圖片、評分、用戶名、用料、菜系。打開Chrome瀏覽器進入豆果美食網站后,查看全部分類找到對應的菜系,按F12鍵就能看到頁面的布局和源代碼信息。查看并分析這些中國菜的菜系標題都包含了屬性為class的

  • 元素里面。該頁面的源代碼信息和中國菜的各個菜系頁面如圖1所示。

    通過源代碼和頁面布局分析,下面利用xpath表達式進行該網站的解析。為了解析每一條信息的語句,編寫了一下語句:response.xpath("http://div[@class='pages']/a/@href").extract()。該表達式不僅能匹配當前節點和文檔中的節點,而且直接從全文中搜索所有id為'list'的結點。這樣就能得到了該節點之后按照菜系所在的位置在該節點內部進行遍歷搜索。這個程序就能得到了每條菜譜的詳細頁碼連接和菜譜信息。

    1.2.2數據處理及保存

    經過以上表達式,讓爬蟲程序提取到了美食網站內的菜譜頁面信息,可是想要進行完全處理數據,那么利用item對它進行格式化。文中定義一個名為DouguoItem的類,該類之后需要從網頁中獲取數據內容的集合,它們分別是menu:用來存放菜譜的信息,menu_link:用來存放菜譜鏈接,score:用來存放評分,user:用來存放用戶名,img_link:用來存放菜譜圖片,ingredient:用來存放用料信息,classify:用來存放菜系。

    為了進行進一步的數據處理、數據分析以及數據可視化,因此有必要對這些數據進行保存。由于本實驗數據量不大,而且Scrapy提供了多種格式的數據保存形式,因此使用簡單的excel文件的形式保存數據。

    2美食數據處理技術研究

    為了方便后續的可視化分析,還需要對爬取數據進行處理。美食詞匯處理過程分為數據清洗,刪除重復項,缺失值處理,評分字段清洗和添加用料數字段等。由于本研究保存的是excel文本格式,為了更加高效地處理Excel中的數據使用到了pandas庫。還用到了Numpy庫,用這個庫來整合爬取數據。本文用jupyter notebook來運行代碼,首先,導入爬取到的菜譜數據,這個過程用了pd.read方法,并添加了列名。預覽數據如下:

    其次,用drop_duplicates方法來刪除爬蟲過程中重復抓取的少量菜譜數據并通過dropna方法來刪除缺失值。為了方便后續計算,提取到的評分字段里含有多余的object類型的字符串,需要替換到多余字符串并轉換為數字類型。由于用料詞匯中間都是以逗號分隔開,先算逗號數加一就能得出用料數。最后,利用用料詞匯統計每個菜譜的用料數量,這樣有利于分析菜譜用料。

    3美食數據可視化技術研究

    數據時代,通過數據分析來挖掘數據的價值,本文數據分析過程分為以下幾個步驟:數據獲取,數據讀取,數據計算,數據可視化以及數據分析。分析代碼和數據如圖2所示。

    總爬取了2968個菜譜數據,通過數據處理,除掉缺失值和沒有評分的數據后得到了最后的2197純菜譜數據。數據分析后用Pyecharts庫制作各大菜系菜譜數量占比餅狀圖展示出效果。

    除此之外,為了充分利用中國菜譜數據,采用Jieba庫來處理中文分詞,然后進行詞頻統計便挑選出高頻詞匯,最后制作詞云圖來展示效果。尺寸越大表明該詞匯的詞頻率越高,尺寸越小表明該詞匯的詞頻率越低。

    以上詞云圖里尺寸大的、比較顯眼的菜譜用料是主要的川菜用料,比如花椒、干辣椒、大蒜和豆瓣醬。其他各大菜系菜譜用料的詞云圖也一樣表示出該菜系菜譜用料情況。

    4總結

    本文首先探討構建飲食詞匯資源庫在飲食文化中的重要作用。其次開展飲食詞匯資源的獲取和飲食詞匯數據的充分利用。本研究涉及了網絡爬蟲技術、文本預處理技術、數據可視化等文本采集和數據加工技術并詳細地給予該資源庫的資源爬取、數據處理、數據分析以及數據可視化等過程和相關代碼。

    從高頻詞匯的分布情況分析可以為健康飲食模式推廣提供多維視角與參考,健康飲食模式和膳食結構不僅影響人類健康,而且對我國經濟發展、醫療支出、了解中國飲食文化等方面產生一定的影響。為了完善飲食詞匯資源庫,后續研究待需要爬取其他美食平臺數據來補充資源。美食的烹飪涉及的影響因素還有很多,還需要思考和探索。

    參考文獻:

    [1] 杜鵬輝,仇繼揚,彭書濤,等.基于Scrapy的網絡爬蟲的設計與實現[J].電子設計工程,2019,27(22):120-123,132.

    [2] 李培.基于Python的網絡爬蟲與反爬蟲技術研究[J].計算機與數字工程,2019,47(6):1415-1420,1496.

    【通聯編輯:唐一東】

    猜你喜歡
    數據分析
    我校如何利用體育大課間活動解決男生引體向上這個薄弱環節
    體育時空(2016年8期)2016-10-25 18:02:39
    Excel電子表格在財務日常工作中的應用
    淺析大數據時代背景下的市場營銷策略
    新常態下集團公司內部審計工作研究
    中國市場(2016年36期)2016-10-19 04:31:23
    淺析大數據時代對企業營銷模式的影響
    基于讀者到館行為數據分析的高校圖書館服務優化建議
    科技視界(2016年22期)2016-10-18 14:37:36
  • 主站蜘蛛池模板: 欧美日本一区二区三区免费| 日韩福利在线观看| 国产精品99久久久久久董美香| 91av成人日本不卡三区| 无码中字出轨中文人妻中文中| 亚洲欧美一区二区三区蜜芽| 亚洲中文字幕久久无码精品A| 天堂岛国av无码免费无禁网站| 亚洲人成网线在线播放va| 永久在线精品免费视频观看| 99久久人妻精品免费二区| 久久婷婷六月| 香蕉综合在线视频91| 91色综合综合热五月激情| 久久久精品国产SM调教网站| 毛片久久久| 国产色伊人| 精品夜恋影院亚洲欧洲| 狠狠色丁香婷婷| 免费观看男人免费桶女人视频| 欧美五月婷婷| www.国产福利| 夜色爽爽影院18禁妓女影院| 91久久国产综合精品| 日韩国产欧美精品在线| 福利一区三区| 免费国产一级 片内射老| a级毛片免费网站| 久久6免费视频| 萌白酱国产一区二区| 久久国产精品娇妻素人| 91九色国产porny| 亚洲国产成人久久77| 中文字幕1区2区| 国产精品久久国产精麻豆99网站| 亚洲欧洲一区二区三区| 日韩免费成人| 伊人成人在线| 精品无码一区二区三区在线视频| 国产精品毛片一区| 四虎精品免费久久| h网站在线播放| 色天堂无毒不卡| 亚洲自拍另类| 亚洲精品无码高潮喷水A| 欧美国产综合色视频| 美女视频黄又黄又免费高清| 72种姿势欧美久久久大黄蕉| 久久频这里精品99香蕉久网址| 日本三级精品| 国产色婷婷| 国产一在线| 婷婷开心中文字幕| 欧美综合激情| 激情午夜婷婷| 激情网址在线观看| 国产资源免费观看| 亚洲最猛黑人xxxx黑人猛交| 久久a毛片| 精品国产Ⅴ无码大片在线观看81| 亚洲永久色| 全免费a级毛片免费看不卡| 亚洲国产日韩欧美在线| 午夜人性色福利无码视频在线观看| 国产菊爆视频在线观看| 国产精品成人久久| 国产二级毛片| 国产福利一区在线| 亚洲欧美日韩色图| 永久免费av网站可以直接看的 | 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产在线观看91精品| 免费av一区二区三区在线| 欧美激情伊人| 无码精品福利一区二区三区| 国产丝袜啪啪| 国产区免费| 欧美69视频在线| 国产精品人成在线播放| 亚洲综合中文字幕国产精品欧美| 女人18一级毛片免费观看 | 青青青视频免费一区二区|