用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

要說最近有什麼比較火的話題,自然是熱播劇《延禧攻略》了,我在吃飯的時候也經常蹭老婆的pad看一兩集。

如果不是以比較苛刻的眼光去看,這部劇確實有相當可圈點之處,情節緊湊不拖沓

雖然有些角色比較智障,但總體來說形象還是比較豐滿的,演員也很敬業,是一部不錯的霸道總裁片。

福利:私信回覆【02】可獲取爬蟲視頻教程

然後看的時候我就在想……

  • 這部戲裡哪個角色的戲份是最多的呢?
  • 戲份多的是不是人氣就一定很高呢?

剛好python裡有學過關於詞頻統計的知識

稍微魔改一下,看能不能弄出想要的結果。

需求:統計《延禧攻略》中各角色的戲份

如何定義“戲份”這個概念?我們知道,一個角色的出場次數直接決定了該角色的曝光度,在其他角色的互動中出現在對話裡也能間接增加其存在感。所以如果能找到相關文本,就有可能實現想法。

可以選擇的統計對象有劇本和小說兩種。理想狀態下可能劇本更合適一些,不過我暫時弄不到完整的劇本,所以就用原著小說代替了。快速瀏覽小說後發現,雖然在部分細節和對話上與電視劇有所差異,但是人物總體出場情況及情節走向還是一致的,可以作為研究對象。至於我是從哪裡搞到的小說全集這並不重要。

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

(你們知道作為一個直男,我在檢查文本的時候是什麼樣的心情嗎)

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

那麼廢話不多說,直接開始想解決方案。根據我有限的知識,這個問題應當按照以下步驟來分析:

  1. 以合適的格式讀入文本
  2. 用jieba庫進行分詞處理(全文沒有英文)
  3. 建立字典,將每一個詞(鍵)與其出現次數(值)進行映射
  4. 按照某個順序排列鍵值對
  5. 打印輸出

結合之前學過的一個統計實例

很快代碼就出來了:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

然後打印輸出,得到的結果是:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

emmm...多出來很多奇怪的東西,這裡和其他詞頻統計不同

我們要的只有角色名,什麼“宮女”“知道”之類的詞彙是不應該出現的。

這裡就有必要對非必要詞彙進行排除了。

基本的思路是反覆運行程序,再手動挑出需要被排除的詞語錄入到一個excludes列表裡

然後使用for in函數把字典裡的值刪去。

然後我進行了巨大的工作量……

建立了這麼一個詞庫:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

然後在後面多加一段這個:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

保存,跑一遍,得到這個:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

好像哪裡不對。

“魏瓔珞”和“瓔珞”分明是同一個人,“弘曆”和“皇上”同理也沒有區別。

這部劇裡各角色在不同時期、不同身份下稱為均有所不同

也就是說有必要了解所有角色可能的稱謂,並將同角色稱謂進行歸納。

於是我機智地點開了網頁,

找到了《延禧攻略》全角色簡介:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

同時:

為了讓python學習這些角色名,另新建一txt文檔把角色名及別名全部輸入進去,用jieba進行讀取;

對代碼動手,把角色不同稱謂進行映射:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

運行程序看看:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

這樣就順眼多了。然而我還是有點不滿意:

雖然建立了excludes列表,但通過人力也僅僅能排除幾十個干擾項,頂多能弄出前30的排名,再多就非常累了。

這顯然不符合我的預期,於是我瞧了excludes半天,想出一個解決方案:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

真是不容易,連出場一兩次的小角色都統計出來了。

事實上作為一個菜的摳腳的新手,這一步想了我很多時間。

最後為了優化代碼提高用戶體驗,將最後結果輸出到一個txt文檔中,方便轉化為csv文件導入excel分析。

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

然後在excel里拉個圖表來瞧瞧:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

乾隆:魏瓔珞同志,誰才是大豬蹄子呢?你一個人細分比朕和皇后加起來都多

可以看到,在原著中魏瓔珞不愧是第一女主,其戲份比皇帝和皇后加起來還多。

其他戲份比較足的是明玉、慧貴妃、爾晴、純妃、袁春望、太后這幾個角色

其他角色有些雖然也比較重要,但是出場率顯然不及前幾位了。

那麼,電視劇播出後,這幾位的人氣是否與他們的戲份是正相關的呢?

這裡當然可以抓取開播以來的網絡評論數據來檢索關鍵詞,不過為求簡(tou)便(lan),這裡直接用百度指數代替了:

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?

其他角色相對這幾位都太低了

爾晴:...你們這群渣渣,姐姐我才是人氣明星!!!

用菜的摳腳的python語言統計《延禧攻略》各角色戲份,誰是主角?


分享到:


相關文章: