爬取《全职高手之巅峰荣耀》的豆瓣影评,分析漫改电影的优劣好坏
周末去看了《全職高手之巔峰榮耀》的大電影。記得是看掃毒2還是更前一點的電影時。全職大電影的預告片就出來了,第一眼看中的時候,就決定必須去看這場電影了。(每周一場的電影,默認成為習慣了)
電影的好處在于,可以暫時脫離本身的角色設定,轉而融入電影中的某個背景,感受不同的生活體驗,精神感受,以及揣摩導演,制作者的一些小心思。理解電影想表達什么,理解制作者在某個小細節上的精彩處理,這也是看電影的一種另類收獲。
電影相對于原作來說,可以更生動,更完美的表達出人物之間的關系。具體情境下的環境感受。有人在看到某個熟悉的場景時會情不自禁的代入。見過有在電影院痛哭流涕的,也有某個激動的場景,大家一起吶喊助威的。電影的魅力就在于此。
想起在看《毒液》時,前面有個小弟弟一直在眉飛色舞的給小伙伴解說人物關系,故事劇情(當時很想錘他一頓,O(∩_∩)O哈哈~)
<全職高手>作者是蝴蝶藍,講述的是一個榮耀新人葉不修,因為自身開掛太過嚴重,而導致被俱樂部封殺,結果又湊齊了各種掛壁一起毆打俱樂部,腳踏前妻的故事。故事很精彩,角色設定也很出色。是個值得一看的網癮小說。
咳咳,還是先做正事要緊,鑒于對這部大電影的期待,決定爬取豆瓣的影評,分析分析這部電影的優劣好壞。
爬取豆瓣影評
找到電影的影評頁面(一眼望去全是差評啊,我滴個乖乖)
確定我們需要的信息字段,分別是影評人,評論,評價,評價日期,以及點贊的人數。
評價在網頁上顯示的是星級,而在html文件中@title屬性中是對應的標準。
如下所示:
四星 = ‘推薦’,一星=‘很差’,二星=‘較差’,三星=‘還行’,五星=‘力薦’.
豆瓣的整體頁面結構算是簡單的沒有特別復雜的網頁嵌套,我們就選用requests請求,這樣的請求過程清晰簡單,方便修改。
找到需要字段的xpath規則,也可以用css選擇器,具體按自己需要來選擇。
所有的影評內容都在id="comments"的div標簽下,每一頁有20條數據。
需要將20條信息每個都單獨分開,就不能直接選擇單條的xpath規則,需要先定位到20條整體的div標簽上,再循環遍歷獲取單條的整體信息。
具體代碼如下:
def get_default(self, ob):"""獲取指定數據:param ob::return:"""# 評論yingping_xpath = "./p//text()"yingping = ob.xpath(yingping_xpath).extract()yingping = "".join(yingping).strip()# print(yingping)# 影評人zuozhe_xpath = "./h3/span[2]/a/text()"zuozhe = ob.xpath(zuozhe_xpath).extract_first()# print(zuozhe)# 獲贊數zan_xpath = "./h3/span[1]/span/text()"zan = ob.xpath(zan_xpath).extract_first()# print(zan)# 星級star_xpath = "./h3/span[2]/span[2]/@title"star = ob.xpath(star_xpath).extract_first()# 評論日期date_xpath = "./h3/span[2]/span[@class='comment-time ']/text()"date = ob.xpath(date_xpath).extract_first().strip()# print(date)return [yingping, zuozhe, zan, star, date]def get_content(self, url):"""獲取數據:return:"""file_path = os.path.dirname(os.path.abspath(__file__)) + "/豆瓣影評.xlsx"df = pd.read_excel(file_path, sheet_name="全職高手之巔峰榮耀", header=None)print(url)# url = "https://movie.douban.com/subject/26794435/comments?start=480&limit=40&sort=new_score&status=P&percent_type="response = self.parse_url(url)# 數據對象列表obj_list_xpath = "//div[@id='comments']/div/div[@class='comment']"obj_list = self.content_xpath(response, obj_list_xpath)# 詳情內容列表content_list = list(map(self.get_default, obj_list))函數get_default()是作為獲取單條數據的處理函數。返回一條影評的全部信息。
獲取的數據直接存入excel文件,方便后面的數據分析。這里創建Excel文件和數據存入Excel文件的操作都是借助Pandas第三方庫來完成的。具體代碼會在源碼中展示。
生成的Excel文件如下:
總計503條影評數據。
影評分析
所有的影評信息已經拿到了,接下來要做的就是整理所有的信息數據,分析影評的結果。
1.關于評論的分析。
1.1獲取評論列表
評論的信息內容是一個文本字符串,需要分析大家評論的核心內容都是關于電影的哪一方面。
利用Pandas讀取,整合影評的Excel文件內容。評論信息在第一行。
讀取excel內容用df.iloc[:,:],依據索引可以指定想要獲取的某行某列數據,我們需要的評論信息是所有的第一行,所以函數返回的信息為df.iloc[:,0],第一個選擇整體行,第二個0選擇第一列。
返回的內容是一個評論列表,每一條影評為一個元素。
1.2詞頻統計
統計評論信息的詞頻需要使用Jieba中文分詞庫。
具體的實現方式有兩種:
1.將所有的評論使用列表的join()方法拼接成一個大字符串,調用中文分詞器對這個大字符串進行詞頻統計。
這個方法比較簡單,代碼簡潔,比較擔心的是,如果這個字符串特別大的時候,會不會影響詞頻統計的結果。
2.將每條評論作為單獨的字符串去分詞統計詞頻。每條評論表達的信息都是不同,這樣的分詞結果也不會出現大的異議。不用關心影評的數量大小。
具體代碼如下:
返回的結果是一個列表,元素為字典,有兩個鍵值對,第一個鍵值對是詞的內容,第二個是詞的數量,這里不存在去重的問題。
出現多次的詞就會有多個字典,每次的count都為1。分詞結束后,將word相同的count值取和就能得到每個詞出現的詞頻了。
統計詞頻的代碼如下:
調用pandas庫的方法分組,排序,求和,返回詞頻數排名前100的詞頻。
1.3制作詞云
根據生成的詞語和詞頻,我們制作一個可視化的詞云圖,看看大家評論中的中心思想是什么。
制作可視化詞云使用的是pyecharts第三方庫。制作簡單,效果出眾。順便打個廣告,嘿嘿。
最終生成的效果詞云圖如下:
最主要的還是電影和劇情兩個詞,不過我猜是差評的電影和劇情,哈哈哈。評論中哈哈哈哈的也不少。
詞云圖只能看到評論的核心是討論什么的,看不出來這個電影是差還是好呢。
接下來我們就來分析一下觀眾老爺們的星級評價。徹底揭露出漫改電影的原相。
星級評價分析
星級評價的分析需要讀取Excel文件中的星級評價和獲贊數,具體的星級評價只有五個,具體的影評有五百多條。
需要將相同的星級評價進行整合,并且每種評價的獲贊數也是代表了評價。
1.讀取數據,合并數據
第一步利用Pandas庫來讀取星級評價的內容和獲贊數。根據索引讀取的方法為df.iloc[:,2,4]。
第二步 合并 星級評價和贊數的數據。
具體是做法是選用字典數據類型,星級評價只有五個會重復不能作為鍵,以獲贊數作為鍵,星級評價作為值。
賦值一個空字典,判斷value值是否在這個字典中,反轉鍵值對,值value疊加。
生成的新字典就是以星級評價為key,獲贊的總數量為值的。(這個方法有個小問題是,如果獲贊數出現重復的話會對丟失數據。)
有更好方法的話,后面會再更新。
具體代碼如下:
第三步生成星級評價的百分比圖和漏斗圖。
效果圖展示:
通過百分比圖和漏斗圖的直觀展示,可以看出《全職高手之巔峰榮耀》大電影的星級評價還真是慘不忍睹啊。。。。。
一星和二星的差評占比達到了百分之七十左右。
說實話這部電影的槽點太多了,劇情碎裂,戰斗畫面切轉莫名其妙,整體的劇情速度感覺有點趕時間,后面怕是有狼在追著制片方似的。
沐橙的年齡也是一個很大的槽點,沐橙比葉修也就小三歲,再怎么說也是個元氣滿滿的青春美少女了,電影里的沐橙最多也就一個小學三年級的蘿莉。
暗無天日的轉折加入一臉懵逼,前面做了那么多的鋪墊,按理來說,最后的轉折加入,至少也要在一個比較關鍵的時刻出現吧,結果剛出來就露個面擺個poss,就被掃地焚香吊著打了,完全一副路人甲的姿態啊喂。
還有最后決戰的七階斗者意志的變身,影評里有人說像是圣斗士的戰斗變身,噗,哈哈哈。忍不住了,感覺變身有點夸張了,變身的服裝效果直接就搶了角色的重點,變成普通動畫水平了。其實做個光環效果就差不多了,類似于火影中的八門遁甲的顏色變化,或者超級賽亞人的光效(想了想那個畫面,還是八門遁甲吧)。
不過,就算是有這些槽點,全職粉還是有看頭的。
開篇第一場一葉知秋和大漠孤煙的沙漠對決,動作對打加上超燃的音樂,心情瞬間就被帶動起來了。(再吐槽一下,電影中和葉修相愛相殺的韓文清鏡頭也忒少了吧)。大漠孤煙和一葉知秋在加入職業之前可都是競技場的大神啊。怎么電影了完全就成了路人甲了呢。原著黨表示不服。
蘇沐秋和葉修的倫理聯系也得到了答案。至于蘇沐秋的巧合車禍,邏輯上說的通就不存在勉強了。重要的是能接上劇情。
剛開始接觸到全職是因為動漫版的第一話,葉修出了俱樂部的門,走在大街上,雪花零零散散的落在他的衣帽上,葉修縮縮肩膀,拉了一下帽子,說“好冷”。那一刻的葉修,身上就是深深的孤獨。就這一個場景,促使我必須追完整個動漫。了解他的故事,體會他的感受。
“榮耀。從來就不是一個人的游戲。”
《全職高手之巔峰榮耀》這部大電影就當做一個番外,真正的榮耀第二季動漫見。
《全職高手》小說采集
最后在做個全職小說的采集。讓你了解真正的榮耀。
效果如下:
想要源碼的小伙伴可以私信我。
我是北房有佳人,金屋藏嬌的那個。O(∩_∩)O哈哈~
總結
以上是生活随笔為你收集整理的爬取《全职高手之巅峰荣耀》的豆瓣影评,分析漫改电影的优劣好坏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你还不知道高情商表现怎么表现?
- 下一篇: mysql-cluster安装与配置