上個星期五(16/11/18)去看了馮小剛的最新電影《我不是潘金蓮》,電影很長,有點黑色幽默。看完之后我就去知乎,豆瓣電影等看看大家對于這部電影的評價。果然這是一部很有爭議的電影,無論是在知乎還是豆瓣,大家對這部電影褒貶不一,有的說拍的好,寓意深刻,具有很強的現(xiàn)實諷刺意味,也有的說故作矯情,是一部爛片。大家眾說紛紜,那么這部電影到底怎么樣呢?我想還是用事實說話比較好。我想到最近剛好我學(xué)習(xí)了一段時間的爬蟲了,也知道詞云可以形象地反映詞語分布。所以我決定親自動手對《我不是潘金蓮》制作一個詞云。
先說一下使用的工具:python2.7.12 wordcloud1.2.1 selenium2.53.6 jieba(一個中文分詞工具) 分析的文本來源為豆瓣電影下《我不是潘金蓮》的1.6W+評論。
selenium 是一個可以操縱瀏覽器的爬蟲工具,對于抓取動態(tài)頁面(js生成的頁面)非常方便。這里之所以使用selenium的一個主要原因是,電影的評論只有在登錄之后才可以全部抓取,如果使用urllib2等標準庫模擬登錄,因為還要處理驗證碼等,略顯麻煩,而使用selenium則非常簡便。
jieba 是一個優(yōu)秀的中文分詞工具,功能強大并且使用簡便,這里因為涉及到中文,wordcloud對于中文的分詞支持不是特別好,所以需要我們手動分詞,我把這個任務(wù)交給了jieba。
制作詞云的流程如下:
1.使用selenium 登錄豆瓣,抓取《我不是潘金蓮》下所有電影評論,并且保存到txt文件(一行是一條評論)
2. 使用jieba 對于評論進行分詞,得到新的文本
3. 對于新的文本 使用wordcloud 進行制作詞云
話不多說,下面直接貼代碼: