從數據上看:誰纔是漫威的絕對C位

復聯4上映了!此次比美國還早了兩天。固然,我還沒看,不會給大家劇透,固然也不想不劇透。mongodb

這一部不只是滅霸這一線劇情的結局,也被認爲漫威第三階段的收官之做。聽說此部以後,很多影迷熟知的角色(演員)就要離開漫威世界的熒幕了。所以剛上映就備受關注,今天一天國內票房就已超5億。網絡

上次的文章《這多是我用過最「強大」的API:Marvel API》中,我給你們演示了漫威開放接口(Marvel API)的功能,而且在最後留了個「彩蛋」:爭取跟《復聯4》同步上線一個案例。ide

很遺憾,最近幾天忙着更新網站,眼看要鴿了。但慶幸的是,咱們另外一位實訓生 @清風小築 站出來把坑給填了:工具

對 Marvel API 中的數據進行統計分析,將角色之間關係進行可視化展現。換句話說:用數聽說話,誰纔是漫威宇宙中着墨最多的人物學習

我以前作了個小調查:網站

僅就我這邊的採樣來看,鋼鐵俠在國內是沒法撼動的人氣王。固然,這可能由於國內更可能是漫威系列電影觀衆。ui

那麼官方的喜愛又是如何?spa

上文中咱們說過,在 Marvel API 的開放數據中,包含了:.net

  • 1491 個角色
  • 43759 本漫畫
  • 6200 個創做者
  • 10713 個系列
  • 96740 個故事
  • 75 個事件

咱們此次案例選取的是 角色(character)故事(story)之間的關係:接口

  1. 選取故事最多的 N 個角色
  2. 根據共同出現的故事數,衡量角色之間的關聯性

通過統計發現,故事數前3的是:

  1. 蜘蛛俠(Spider-Man)- 5192
  2. X戰警(X-Men)- 4551
  3. 鋼鐵俠(Iron Man)- 3483

關聯性最高的前3位:

  1. X戰警 - 金剛狼 - 1001
  2. 神奇四俠 - 霹靂火 - 817
  3. 神奇四俠- 隱形女俠 - 773

故事數最多的25個英雄/團體的關係圖:

故事數最多的99個英雄/團體的關係圖:

Data provided by Marvel. 2014 Marvel
數據由 Marvel 提供
來源: http://marvel.com
  1. 意料以外但情理之中,蜘蛛俠是出現故事最多的角色。這還只是主線角色,沒算上各個平行宇宙和衍生角色。事實上,小蜘蛛在漫威迷中一直有着超高的人氣,或許是由於他的故事更接近於現實中的每個平凡人,也或許是他那份「能力越大,責任越大(With great power comes great responsibility)」的堅持。而在國內觀衆熟知的漫威系列電影中,蜘蛛俠彷佛戲份很少,這是因爲蜘蛛俠的電影版權很早就賣給了索尼(X戰警和神奇四俠也是相似)。
  2. 鋼鐵俠、美隊、金剛狼是緊隨其後的角色,X戰警是故事最多的團體。
  3. 關係圖上的顏色不是咱們手動標註的,而是 Gephi 經過聚類自動劃分的。文字標籤的大小則體現故事數的多少。X戰警、神奇四俠、復仇者聯盟,這三個團體壟斷了漫威絕大部分的故事。神奇四俠雖然人物和故事不算多,但相關關聯很緊密(大多同時出場),相反典型是雷神(Thor),雖然故事不少,但大多獨來獨往。

最後來講說這個關係圖的實現過程。主要是兩大塊:

  1. 從 Marvel API 獲取數據。首先是獲取全部角色,而後獲取角色相關的故事,再根據這些故事信息將角色進行關聯統計,最終獲得節點(角色、故事數)和邊(關聯故事數)的數據。
  2. 經過可視化分析工具 Gephi 將節點和邊的數據進行可視化展現,生成關係圖表。Gephi 的功能很強大,能夠調節不一樣的展現效果,各位能夠自行體會下。

其餘須要注意的:

  1. 咱們沒有直接經過網絡請求 Marvel API,而是使用了上次文章中提到的 marvel 模塊來實現。(使用示例見前文
  2. 中間的臨時數據,由於是 JSON 格式,因而咱們用 mongodb 進行了存儲,便於後續整理分析。若是你本身運行,也能夠經過其餘方式(好比文件)進行存儲。
  3. 通過處理後的節點、邊數據咱們保存成了 csv 文件,你能夠在項目中獲取,直接放進 Gephi 使用。僅供學習,請勿商用。
  4. Marvel API 須要申請祕鑰、有請求速率限制,使用時需標註數據出處和來源網址


相關網址:

Marvel API https://developer.marvel.com/docs

marvel庫 https://pypi.org/project/marvel/

Gephi操做手冊 https://gephi.org/users/quick-start/

相關文章
相關標籤/搜索