免费试用
banner
行业资讯>大亚博赠送彩金--任意三数字加yabo.com直达官网分析>大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

作者: 小F来源: 法纳斯特时间:2019-05-08 10:56:480

最近正值复联4上映,小F也发现了一个有趣的网站。

主要是关于漫威人物、漫威电影的图谱。

https://graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/index.html(复制到浏览器打开)

网站是基于Graph技术开发的。

其实之前小F也利用了有关Graph的库实现了一波人物的关系分析。

只不过分析结果比较粗糙而已~

下面是网站的概况,大家可以一览。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

?大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

那么人家能做出这么酷炫的关系图,我们自己能不能实现呢?

这一期就利用网站提供的亚博赠送彩金--任意三数字加yabo.com直达官网,使用Neo4j(NOSQL图形亚博赠送彩金--任意三数字加yabo.com直达官网库)进行实战一波。

一、获取分析

人物及人物关联信息从网站上获取,具体接口如下。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

亚博赠送彩金--任意三数字加yabo.com直达官网为json格式,分别在「characters」和「relationship」中。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

这里的信息是分别指托尼·斯达克,关系「0」为朋友,斯蒂文·罗杰斯。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

二、 亚博赠送彩金--任意三数字加yabo.com直达官网获取

具体代码如下。


  1. headers?=?{?
  2. ????'user-agent':'Mozilla/5.0?(Windows?NT?6.1;?WOW64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/63.0.3239.132?Safari/537.36'?
  3. }?
  4. ?
  5. url?=?'https://graphics.straitstimes.com/STI/STIMEDIA/Interactives/2018/04/marvel-cinematic-universe-whos-who-interactive/data/marvel-data.json'?
  6. response?=?requests.get(url=url,?headers=headers)?
  7. result?=?json.loads(response.text)?
  8. ?
  9. num?=?0?
  10. names?=?[]?
  11. item?=?{0:?'friend',?1:?'enemy',?2:?'creation',?3:?'family',?4:?'work',?5:?'love'}?
  12. ?
  13. for?i?in?result['relationship']:?
  14. ????subject?=?result['relationship'][i]['id']?
  15. ????object?=?result['relationship'][i]['target_id']?
  16. ?
  17. ????if?subject?not?in?names:?
  18. ????????names.append(subject)?
  19. ????if?object?not?in?names:?
  20. ????????names.append(object)?
  21. ?
  22. ????relation?=?int(result['relationship'][i]['relationship'])?
  23. ????with?open('relation_message.csv',?'a+')?as?f:?
  24. ????????f.write(subject?+?','?+?object?+?','?+?item[relation]?+?'\n')?
  25. ?
  26. for?j?in?names:?
  27. ????num?+=?1?
  28. ????with?open('names_message.csv',?'a+')?as?f:?
  29. ????????f.write(j?+?','?+?str(num)?+?'\n')?
  30. ?
  31. for?k?in?result['characters']:?
  32. ????id?=?result['characters'][k]['id']?
  33. ????name?=?result['characters'][k]['name']?
  34. ????status?=?result['characters'][k]['status']?
  35. ????species?=?result['characters'][k]['species']?
  36. ????with?open('message.csv',?'a+')?as?f:?
  37. ????????f.write(id?+?','?+?name?+?','?+?status?+?','?+?species?+?'\n')?

最后成功获取亚博赠送彩金--任意三数字加yabo.com直达官网。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

人物名为简称,共计182个人物。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

1144条人物关系亚博赠送彩金--任意三数字加yabo.com直达官网,4大类型。

下面是182个人物的一些详情信息。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

包含了人物的名字及简称,存活状态,人物属性。

三、亚博赠送彩金--任意三数字加yabo.com直达官网可视化

下面通过Neo4j对人物关系进行可视化。

Neo4j的安装这里就不细说了,大家可以自行百度。

开启Neo4j服务后,登陆Neo4j网站,初始化界面如下。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

先加载第一个文件。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

具体代码如下。


  1. LOAD?CSV?WITH?HEADERS?FROM?'file:///names_message.csv'?AS?data?CREATE?(:people{name:data.name,?id:data.id});?

下面加载第二个文件。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

具体代码如下。


  1. LOAD?CSV??WITH?HEADERS?FROM?"file:///relation_message.csv"?AS?relations?
  2. MATCH?(entity1:people{name:relations.subject})?,?(entity2:people{name:relations.object})?
  3. CREATE?(entity1)-[:rel{relation:?relations.relation}]->(entity2)?

点击1144按钮处,取消限制数,再点击全屏。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

?大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

这里大致能看出来漫威的人物聚集情况。

第一大反派灭霸(thanos),原来这么孤立的。

这里由于人物太多,造成观察不便,所以对结果进行一些筛选。

比如筛选托尼·斯达克的朋友,运行下面的代码。


  1. match?p=(n:people{name:"tonys"})-[:rel{relation:"friend"}]->()?return?p;?

得到下图结果。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

其中「thor」为「雷神」,「stever」为「美队」,「blackw」为「黑寡妇」,「vision」为「幻视」,「peterp」为「蜘蛛侠」,「bruceb」为「绿巨人」。

下面再来看一下美队的女友吧。

大亚博赠送彩金--任意三数字加yabo.com直达官网告诉你:10年漫威,到底有多少角色

佩吉·卡特和她的侄女莎朗·卡特,据说两人样貌极为相像。

四、总结

本次只是对Neo4j的一些简单操作,后期或许会去深入了解。

此外漫威的这些人物信息,还可以玩出很多花样的。

也希望大家能去动手尝试尝试,做一枚硬核铁粉~

?

文章来源:http://bigdata.51cto.com/art/201905/596059.htm

banner
看过还想看
可能还想看
热点推荐
Yonghong的价值观:以卓越的亚博赠送彩金--任意三数字加yabo.com直达官网技术为客户创造价值,实现客户成功。
免费试用