您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關大數據開發中如何爬取點評成都數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、爬蟲
首先小編定位為成都,美食類型選的“火鍋”,火鍋具體類型選的不限,區域選的不限,排序選的智能,如圖:
你也可以選擇別的選項,只是注意URL的變化。本文都是按照上述選項爬取的數據。接下來翻頁觀察一下URL的變化:
第二頁:
第三頁:
很容易觀察出翻頁變化的知識p后面的數字,倒推回***頁,發現一樣的顯示內容,因此,寫一個循環,便可以爬取全部頁面。但是大眾點評只提供了前50頁的數據,所以,我們也只能爬取前50頁。
這一次,小編用的pyquery來分析網頁的,所以我們需要定位到我們所爬取的數據的位置,如圖:
在具體分析的網頁的時候,我震驚了,大眾點評的反爬做的太過分了,它的數字,一些文字居然都不是明文顯示,而是代碼,你還不知道怎么分析它。如圖:
很煩的,一些文字又可以顯示,一些又用代碼表示。一些數字也是,不過好一點的是數字只有9個,只要稍微觀察一下,就能發現數字的代碼是什么了。這里小編列出來了。 {'hs-OEEp': 0, 'hs-4Enz': 2, 'hs-GOYR': 3, 'hs-61V1': 4, 'hs-SzzZ': 5, 'hs-VYVW': 6, 'hs-tQlR': 7, 'hs-LNui': 8, 'hs-42CK': 9}。值得注意的是,數字1,是用明文表示的。
那么,如何用pyquery來定位呢,很簡單,你找到你要獲取的數據,然后右鍵→copy→cut selector,你復制到代碼里面就OK了。pyquery的具體用法百度既有。
***,我們獲取了火鍋50個頁面的數據,每頁15個數據,一共750家餐廳的數據。
2、分析
大眾點評已經給出了***評價,可以看看大致趨勢。
準五星商戶最多,可能因為大部分食客都習慣給好評,只有實在不滿時才會打出低評有關,造成了評級一般不低,但近滿分還是蠻少的。
在本文,我們假設評論數目為飯店的熱度,也就是它越火,評論數目越多。
評論數目大多在1000以內,但是高于2000,甚至高于4000也還存在一些,這些飯店應該是一些網紅店。以5000為約束,篩選出飯店均為小龍坎、蜀大俠都非常知名的火鍋店。那么評論數量和***有關系嗎?看下圖:
這里取其評論數平均值,發現對于四星以上商戶來說,評論數和***并不關系,但均比低于四星的飯店銷量更好。這說明在四星以上之后,人們選擇差別不大,但一般不愿意接受評論太差的飯店。
對于小編這樣的學生黨來說,影響較大還有人均消費情況。
成都的火鍋店人均消費大部分都在50-100的區間內,高于150的也有一些。對于小編來講,吃一頓火鍋,人均在50-100是可以接受的,高于100,小編就要低頭看看錢包了。那擴展看,人均消費和***、評論數量有關系嗎?
上圖是人均消費和***的關系,看起來并無任何關系,那說明一些口碑好的火鍋店,其實人均也不貴。下面看看人均和評論數目的關系吧。
通過比較,發現評論數目低于500,人均在50-100區間是最多的。當然這肯定和評論數量、人均消費本身集中于這一階段有關。
吃火鍋,一家店的生意好壞,肯定還和它的特色菜有關,小編通過jieba分詞,將爬取到的推薦菜做了一個詞云圖,如下。
小編***的牛肉是特色菜之最啊,尤其是麻辣牛肉,只要去吃火鍋,都要來上一份,其次是毛肚、蝦滑、鵝腸等等。
接下來是大家都關心的,口味、環境和服務的情況。
三者得分大多都是集中在8.0-9.2這一階段,小編認為,低于7.5分的飯店還是不要去嘗試了。同時,***評價應該也是由這三者得分產生的。
果然如預想的一向,***評價越好,它在口味、環境和服務的得分越高。那么口味,環境,服務得分與評論數量,平均價格有關系嗎?
如圖所看,并無什么直接關系,但是我們發現口味、環境和服務三者之間存在著非常好的線性關系,于是單獨拿出來畫了一個較大的圖。
我們并且擬合了線性關系,由于三星商戶只有一家,它的情況較為特殊之外,其他***在口味、環境和服務的關系擬合中保持的相當一致,這也證明我們的猜想,這些變量之間存在線性關系。鑒于小編本文***的目的是做推薦,于是,我們進行了K-means聚類,這里小編取K為3,并且把***轉換為數字,五星對應5分,準五星對應4.5分,以此類推。最終得到了三類,通過作圖,看看聚類情況如何吧。
和我們想要的結果一致,在口味、環境、服務和***上得分越高,我們就越推薦。然而推薦的店鋪還是好多,能不能在集中一些呢?于是小編通過限制評論數量、人均消費和特色菜來進行推薦。由于小編喜歡人少,便宜還有牛肉的店鋪,這里得到了如下的結果:
關于“大數據開發中如何爬取點評成都數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。