生活中我們經(jīng)常會用python進(jìn)行數(shù)據(jù)爬取,但是爬取簡單分析難,很多人喜歡用echarts圖表接口或者是python的第三方庫進(jìn)行數(shù)據(jù)可視化,甚至是用matlab,基本上都需要用代碼實現(xiàn),在數(shù)據(jù)展示上十分繁瑣,效率不高。
于是,我就想到用一種更簡單的方式進(jìn)行數(shù)據(jù)分析,那就是python爬取+BI分析,python強(qiáng)大的數(shù)據(jù)獲取能力,配合輕量級BI簡單快捷的可視化操作,分析效果奇佳。原理也很簡單,數(shù)據(jù)層由Python來進(jìn)行抓取到網(wǎng)頁數(shù)據(jù),解析后儲存到mysql數(shù)據(jù)庫;BI負(fù)責(zé)最后應(yīng)用層的數(shù)據(jù)處理、加工和可視化。
話不多說,進(jìn)入我們今天的主題:如何用python爬取淘寶某內(nèi)衣店評論,并用FineBI進(jìn)行數(shù)據(jù)分析?
注:演示工具為python+FineBI,本文僅供娛樂和數(shù)據(jù)分析學(xué)習(xí),不要過于認(rèn)真哦!
數(shù)據(jù)分析之前要明確我們分析的目的是什么,當(dāng)然了,本次實操的目的就是為了獲取某京東內(nèi)衣店的文胸評論情況,分析出什么款式的內(nèi)衣最受妹子們的喜歡。(千萬不要想歪了!)
雖然我沒買過文胸,但是基本上也能推理出京東內(nèi)衣的分析維度:文胸款式、顏色、大小等。
京東店家頁面上可以作為數(shù)據(jù)指標(biāo)的有:評論量、評分、評論、購買時間等。
京東的python爬取比較簡單,只需要知道想要爬取頁面的url就ok了,所以第一步我們先爬一下數(shù)據(jù)。
我們選擇一家京東內(nèi)衣店并進(jìn)入其評論界面,然后按下F12進(jìn)入開發(fā)者模式-network,其中productId就是是每個商品的id,通過這個id就能去獲取商品的評價記錄
下面開始爬取,首先我們需要在搜索頁面獲取商品的id,為下面爬取用戶評價提供productId。然后將前三頁的商品id放入列表中,此時能看到返回的是一個 Json 數(shù)據(jù) ,檢查一下你會發(fā)現(xiàn)這串 Json 就是商品的評論數(shù)據(jù)了。
附上該模塊的源代碼:(文末有獲取方式)
同理,我們繼續(xù)爬取頁面上的內(nèi)衣大小,顏色等等,其中Color即是產(chǎn)品顏色,Size即是產(chǎn)品尺寸,itemId當(dāng)然就是是商品id等等。
附上該模塊源代碼:(文末有獲取方式)
最后將這些模塊組合在一起,就完成了最終的爬取代碼,最終爬取了5000多條數(shù)據(jù),如下:
源代碼獲取方式見文末!
python爬取了數(shù)據(jù)之后,應(yīng)該做一些在臟數(shù)據(jù)的處理和數(shù)據(jù)加工,但是因為代碼寫起來比較麻煩,不如直接用FineBI方便,所以我們將這些數(shù)據(jù)存入數(shù)據(jù)庫,以便連接FineBI。(FineBI其實可以直接用上傳excel數(shù)據(jù),但是我個人習(xí)慣用數(shù)據(jù)庫)
首先,打開FineBI的管理界面,點擊數(shù)據(jù)連接,選擇數(shù)據(jù)庫連接之后,將爬取好的數(shù)據(jù)表直接導(dǎo)入到系統(tǒng)之中,供我們下一步分析使用。
FineBI中有一個很好用的功能是自助數(shù)據(jù)集,我可以直接將添加數(shù)據(jù)表中的對應(yīng)指標(biāo),如下:
然后我們就可以進(jìn)行數(shù)據(jù)加工了,其中我們要先祛除一些臟數(shù)據(jù),比如空值列,我們在finebi中選擇篩選,設(shè)置條件為comment不等于null,如下:
為了分析妹子們什么時間段最愛逛內(nèi)衣店,需要將指標(biāo)中的時間“年月日時”設(shè)置為“小時”,這時候我們新增一列,名稱為“購買時間”,然后調(diào)用時間函數(shù)hour,設(shè)置方式如下:
源數(shù)據(jù)中的文胸顏色有很多,比如卡卡色、淡粉色、桃粉色、性感粉等等,我們不需要這么多種類,只需要一個大概的色調(diào)即可,因此再新增一列,名稱為“色調(diào)”,選擇分組賦值,將同種顏色的色調(diào)分為同一組中,方便我們分析:
同理,我們可以把內(nèi)衣尺寸也進(jìn)行分組賦值,按照大小歸為A、B、C、D四個組,如下:
最后一步進(jìn)行分組匯總,基本的數(shù)據(jù)加工就完成了,我們所需要的指標(biāo)和維度都已經(jīng)處理好了,下面就可以進(jìn)入臉紅心跳的可視化環(huán)節(jié)了!
FineBI是通過創(chuàng)建組件、設(shè)計儀表板的形式來進(jìn)行可視化分析的,我們選擇剛才處理好的數(shù)據(jù)集,添加組件,通過拖拽就可以通過餅圖、柱狀圖、散點圖、熱力圖、詞云圖等等圖表進(jìn)行分析了。
具體過程因為太簡單這里就不說了,大家可以自己下載嘗試一下,下面直接展示結(jié)果:
1、哪個尺寸的妹子最多?
B罩杯的文胸賣的最多,而且總量超過了A、C、D三種罩杯內(nèi)衣的總和,看來我們身邊還是B罩杯的女生更多一些,應(yīng)該屬于我們國家的平均水平。(開玩笑,莫當(dāng)真!)
2、哪個顏色的內(nèi)衣最受歡迎?
這里我用的是氣泡圖,氣泡大小代表評論量,能夠直觀地看到黑色文胸一騎絕塵,占據(jù)了該內(nèi)衣店60%以上的銷量,看來妹子們是真的喜歡黑色;
其次,粉色、灰色、膚色三種顏色占比差不多,比較受女生們喜愛;而藍(lán)色、紅色、綠色就幾乎看不到了,如果你開了一家內(nèi)衣店,千萬不要賣太多這樣顏色的文胸,否則銷量可不好哦。
除了評論量,我們還需要用好評率來衡量某種顏色的文胸是否真的受歡迎,如上圖所示,平均好評率為3.31,其中超過平均好評率的只有黑色、粉色、膚色、綠色和黃色。
其中黃色的銷量雖然不高,但是好評率最高,可能是跟文胸的質(zhì)量有關(guān);
黑色的好評率居中,可能是因為樣本數(shù)據(jù)太多,拉低了好評率,總體上表現(xiàn)良好;
白色銷量差,好評率也最低,這家內(nèi)衣店應(yīng)該考慮去除白色的文胸,減少紅色、藍(lán)色文胸的比例;
3、妹子們什么時間更愛買內(nèi)衣?
按照24小時的順序分析評論量,可以大致看出妹子們逛內(nèi)衣店的活動畫像。
一天當(dāng)中的高峰時間是上午的9點-11點,晚上的8點-12點,看來女生不僅喜歡晚上買內(nèi)衣,還喜歡在上午買,商家可以考慮在上午推廣活動,這樣效果應(yīng)該會更好一些;
下午和深夜屬于低谷時間,不過仍然有些人在凌晨3點-5點買內(nèi)衣,這些妹子不睡覺的嗎?
4、這家內(nèi)衣店的總體感受如何?
python可以直接制作云圖,不過這里我是直接在excel表中用vba提取的關(guān)鍵詞,直接放到了FineBI之中,比較方便快捷一些。
看得出來,這家內(nèi)衣店賣的文胸總體上比較舒適,妹子們主要關(guān)注的是內(nèi)衣是否舒服、合身、實惠等等,總體上好評比較高,女生們可以放心在這家店里買內(nèi)衣了!
今天只是簡單的實操了一下python+BI分析的過程和步驟,比較簡單,大家可以跟著練習(xí)一下!
如果想要python的源代碼+FineBI個人免費版下載地址,可以私信我“內(nèi)衣”獲得!