前段時間微博上吳某和都某的時間鬧得沸沸揚揚,著實讓大家吃了不少瓜。Peter從網上獲取到了壹些用戶的評論數據作為數據分析,看看微博用戶都是怎麽看待這件事情的。至於事情後面怎麽發展,等待法律的公平公正與公開,本文僅作為數據呈現和分析使用。
本文中的數據是如何獲取到的?
微博評論的數據ajax動態加載的,也就是在地址欄中的URL不變的情況返回不同的數據,但是實際發送請求的URL地址肯定是變化的,在谷歌瀏覽器中加載了4次,生成了不同的URL地址:
main_url是主評論的url地址,其他的URL地址是明顯不同的;url2、url3、url4的差別僅在於max_id的不同。幾經周折,終於找到了關鍵:原來main_url地址下返回的數據中有下頁(第二頁)max_id的信息:
同樣的操作,第二頁返回的max_id也是對應到第三頁的URL地址中max_id的值。
?總結: 通過前壹頁返回的數據中max_id的值作為下頁url地址中max_id的值 。
給主頁main_url發送請求獲取到數據,找到我們需要爬取的字段信息(返回數據轉成json文件的樣子):
再看看壹個用戶的數據信息:
本文中爬取的字段數據:
1、用戶id
2、用戶評論時間:comment_time
3、用戶微博註冊時間:register_time
4、評論內容:comment
5、評論點贊數:comment_like
6、評論回復人數:comment_reply
7、用戶性別:gender
8、用戶城市:city
通過pandas庫將數據讀取進來,我們查看前5條數據:
數據探索部分包含:
對爬取到的數據進行預處理:
對時間的處理,使用的是datetime庫,開頭已經導入了並縮寫成dt。爬取到的數據使用的是 格林威治標準時間 ,做如下轉化:
主要是將表情符處理掉:
將數據中的f變成女,m變成男,更加直觀容易理解
用戶畫像主要從不同的維度來分析用戶在評論中的情況,包含:性別、城市、微博年齡、評論點贊數和回復數等
根據性格對用戶進行分組統計:
雖然主評論只有1000+,但是從結果中可以看到: 吳某某的粉絲還是以女性為主,遠高於男性
主要是想知道哪些城市對吳某某的關註度較高。為了方便,我們統壹取用戶的省份信息:
從條形圖中可以看到:
表示的是從用戶註冊到評論該條微博的時間間隔
用戶年齡小結:
主要是想查看哪些微博評論的點贊數靠前
Peter當時爬取的數據是這條評論點贊數最多:滾!!!
多麽的簡單粗暴!
從結果中我們看到,還是這條評論:滾!
從不同年齡用戶的點贊數和回復數中觀察到:
使用jieba分詞來繪制用戶評論的詞雲圖:
繪制全部評論詞雲圖:
我們截圖前50個高頻詞雲進行繪圖
從全部詞雲和Top50詞雲圖中觀察到:
再次鄭重聲明:本文僅做數據學習和分析展示,事情的後續結果如何,我們相信法律會有壹個公平公正公開的結論?