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