前幾天地鐵上看到很多人在談論新的神劇《黃金瞳》,從開播至今,短短的三天時間內,瞬間俘獲了一大批觀衆,我好奇的去貓眼上查看了一番,發現演員陣容強大,而且題材也很不錯,貓眼評分高達9.5。這麼好的影視劇,要不爬一下豈不是太可惜了?
1.網頁爬取
首先我在網頁端打開了《黃金瞳》的頁面開發者模式,發現最爲關鍵的觀衆評價不能全部爬取,於是我以手機模式打開,發現了全部的短評,而短評的json數據鏈接也可以在XHR下找到。如下圖所示:
找到我們需要的json鏈接後,接下來就是觀察這個鏈接有什麼特點。url如下所示:
http://m.maoyan.com/review/v2/comments.json?movieId=1209205
&userId=-1&offset=0&limit=15&ts=0&level=2&type=3。
http://m.maoyan.com/review/v2/comments.json?movieId=1209205
&userId=-1&offset=15&limit=15&ts=0&level=2&type=3。
觀察上面的兩個url可以發現,不同的鏈接之間,區別只在於offset,也即偏移量的不同,所以在模擬瀏覽器進行請求時,只需要改變offset的數值即可。模擬瀏覽器進行數據抓取的代碼如下圖所示:
上述代碼中要注意請求頭的建立,請求頭信息要補充完全,否則貓眼網頁會對我們的請求進行反爬蟲處理。最後我們大概得到了500多條短評數據:
2.保存數據
接下來是將數據進行提取並將我們提取的信息寫入本地的csv文件當中,代碼如下所示:
由於上述的鏈接返回的是json數據信息,因此,我們直接利用json數據庫對信息進行解析,並進行提取即可。
3.看看都評論了啥
1).字數分析
爬取到信息後,先按照字數進行分析,看看大家都寫了什麼內容:
請注意上面的用戶編號爲51905119的用戶,該用戶竟然在評價字數爲200字的情況下,給出了0分的評價。看來這部吸引大衆眼球的《黃金瞳》讓他感覺很失望啊。
2).評分分析
接下來,我們查看一下評分如何,我們用pyecharts快速可視化看一下:
由餅形圖可見,評分爲10分的佔到了評價總量的80%以上
3).用戶等級分佈
接下來我們來看一下針對於不同的用戶等級數量,以及不同等級下的用戶評分。
由上圖可以看出,等級1、等級2和等級3的用戶都給了很高的評價,而唯一的等級5給出了一個0分的評價,還記得我們數據展示的那個0分嗎?對,就是那個用戶給出的,數據分析的結果與我們上面數據展示產生了很好的呼應。
4.詞雲看看大家的焦點
最後,我們來製作一下關於《黃金瞳》的評價詞雲展示,從詞雲裏看一下大家對於這部劇的評價。
目前的評論分析主要是採集第一集,評論的樣本量比較小。大家的焦點是裏面有很多老戲骨,劇情有的說不錯,有的說拖沓,如果後面劇情展開,能收集到上萬條評論,會更準確些。
如果有看過這部片子的歡迎留言討論。
【菜鳥學Python】累計原創近400篇趣味乾貨(爬蟲,數據分析,算法,面試指南,原創趣味實戰,Python遊戲,機器學習),歡迎一起學Python,交流指正。