亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的美食數(shù)據(jù)爬取及可視化研究

        2021-06-28 17:46:41依力·吐爾孫艾孜爾古麗
        電腦知識與技術(shù) 2021年10期
        關(guān)鍵詞:網(wǎng)絡(luò)爬蟲數(shù)據(jù)分析

        依力·吐爾孫 艾孜爾古麗

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

        關(guān)鍵詞:美食詞匯;Python;網(wǎng)絡(luò)爬蟲;數(shù)據(jù)分析;詞云圖

        中圖分類號: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

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

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

        1 美食文本采集技術(shù)研究

        1.1美食文本采集思路

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

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

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

        1.2美食網(wǎng)站環(huán)境分析及采集

        1.2.1美食網(wǎng)站頁面分析

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

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

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

        1.2.2數(shù)據(jù)處理及保存

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

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

        2美食數(shù)據(jù)處理技術(shù)研究

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

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

        3美食數(shù)據(jù)可視化技術(shù)研究

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

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

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

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

        4總結(jié)

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

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

        參考文獻:

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

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

        【通聯(lián)編輯:唐一東】

        猜你喜歡
        網(wǎng)絡(luò)爬蟲數(shù)據(jù)分析
        煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計與實現(xiàn)
        Excel電子表格在財務(wù)日常工作中的應(yīng)用
        淺析大數(shù)據(jù)時代背景下的市場營銷策略
        新常態(tài)下集團公司內(nèi)部審計工作研究
        中國市場(2016年36期)2016-10-19 04:31:23
        淺析大數(shù)據(jù)時代對企業(yè)營銷模式的影響
        基于社會網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
        主題搜索引擎中網(wǎng)絡(luò)爬蟲的實現(xiàn)研究
        淺析如何應(yīng)對網(wǎng)絡(luò)爬蟲流量
        中國市場(2016年23期)2016-07-05 04:35:08
      2. 丰满多毛少妇做爰视频| 免费人妻精品一区二区三区| 手机在线观看av资源| 最新国产精品拍自在线观看| 免费a级毛片无码av| 乱子伦视频在线看| 啊v在线视频| 女同久久精品国产99国产精| 亚洲熟女少妇一区二区三区青久久| 国产日产欧产精品精品蜜芽| 亚洲国产成人影院在线播放| 亚洲的天堂av无码| 国产无遮挡又黄又爽无VIP| 亚洲第一大av在线综合| 日本精品一区二区三区二人码| 亚欧色一区w666天堂| 国产性猛交╳xxx乱大交| 无码人妻丰满熟妇区免费| 国产丝袜长腿在线看片网站| 亚洲综合精品中文字幕| 岳好紧好湿夹太紧了好爽矜持| 中文无码精品一区二区三区| 男女激情床上视频网站| 日韩精品一区二区亚洲观看av| 丰满少妇被猛烈进入高清播放| 国产台湾无码av片在线观看| 国产乱人伦AV在线麻豆A| 亚洲中文字幕在线第二页| 国产三级精品av在线| 精品成在人线av无码免费看| 制服丝袜人妻中文字幕在线| 精品无码一区二区三区小说| 在线亚洲精品中文字幕美乳色| 夜夜高潮夜夜爽夜夜爱爱一区| 精品久久欧美熟妇www| 亚洲AV无码久久精品国产老人| 国产网友自拍视频在线观看| 强d乱码中文字幕熟女免费| 日本怡春院一区二区三区| 国产高潮精品久久AV无码| 丝袜美女美腿一区二区|