用python解析上萬條評論,揭秘《邪不壓正》到底在講什麼
《邪不壓正》是姜文的民國三部曲的最後一部,前兩部是《讓子彈飛》,《一步之遙》。很多人說,姜文的電影看不懂,上映當日豆瓣評分8.2,現在評分7.1。今天就用python來分析一下到底講了什麼。
用python來分析大致分為三部分1、數據獲取。2、數據處理。3、展示數據。
數據獲取
在Python爬蟲中,一般也是分三步來獲取數據
解析網頁
我們從貓眼上萬條評論中來分析數據,首先打開目標網頁
http://maoyan.com/films/248566
我們發現就只有幾條數據,在觀察也沒有發現別的評論。
找不到評論,在爬蟲中還可以通過模擬手機APP的方式獲取數據。
分析發現offset是載入數量,通過構造參數來獲取評論數據顯然不能實現。
再分析url:http://m.maoyan.com/mmdb/comments/movie/248566.json?_v_=yes&offset=15&startTime=2018-07-22%2016%3A23%3A43
嘗試構造url的方法來解析:
通過這種方式來解釋數據:
發現成功拿到數據,開心。
解析數據
我們通過構造一個生成器函數的方式解析數據。
這一部分建議讀者先把上一步解析網頁得到的數據列印出來,一步一步分析,遇到bug盡量自己調試,列印結果,分析。
保存數據
數據保存完成,接下來就是處理數據
數據處理
得到的文本文件,我們發現有好多重複的數據。
這個時候就要清洗一下數據了
這段代碼主要的功能就是去重。代碼很簡單,仔細看,你會明白的。
數據可視化
這裡用pyecharts,將評分和評論進行圖表展示。pyecharts是一個用於生成圖表的庫,使用起來方便,可視化的效果非常好。
想要了解的可以查看:http://pyecharts.org/
經過兩天的數據獲取,通過獲取用戶評論製成詞雲,看到網友對這部影片的態度。排名靠前的有「姜文好看」「看不懂劇情」「彭于晏」等。網友對這部影片還是很不錯的。相比電影本身,還有好多網友是沖著國民老公彭于晏。話說肌肉真是煞羨旁人啊。
代碼如下:
可以看到,五星評論居多。一星評論也不少,可能沒看懂姜文的黑色幽默吧。
代碼如下:
到這裡就分析完了,姜文的電影生猛,超現實。多看幾遍,希望你在姜文的電影中能收穫些東西。
總結
這篇文章還有一個粉絲分布的圖表,由於代碼始終不能完善,在網上找了好多方法沒有解決,還要多加學習。
在學習中時常發現樂趣才能使學習不那麼枯燥。
一定要多寫,才能融會貫通。
TAG:sixkery |