前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你玩的英雄在比赛中发挥如何呢?

你玩的英雄在比赛中发挥如何呢?

作者头像
用户6825444
发布2020-06-16 16:47:26
3670
发布2020-06-16 16:47:26
举报
文章被收录于专栏:木下学Python木下学Python

前言

小编喜欢玩王者荣耀,但有点菜,所以想了解一下近半年王者荣耀所有英雄的赛事数据,看看自己喜欢玩的英雄在比赛中到底是个什么水平,以及热度前十的英雄是哪些,从中挑选几个适合的来练练。

数据来自王者荣耀官方网站:

https://datamore.qq.com/project/wzmatch/dist/index.html#/

需要登录的:

登陆以后,点击英雄,选择近半年的数据:

可以看到数据是直接可以导出的,比较友好,如果不能直接导出那该怎么办呢,所以我们从爬虫的角度来看看怎么获取数据。

爬虫

打开开发者工具,我们先翻页看看:

从第一页,第二页的截图看出,url 是没有变化的,说明的动态加载的,需要抓包,在 XHR 选项卡看到,每翻一页就有一个新的包,我们浏览一下,发现数据就在这个包里面:

找到了数据包,就可以写爬虫了,数据包的 url 中关于页数的参数是 page,有 5 页,由此构造所有 url:

循环请求 url,因为请求结果为 json 数据格式,我们需要转换为字典类型,再返回请求结果的数据,需要注意的是请求头是需要带上 cookie 的,因为是登录才能浏览,在数据包中的 Header 选项卡中的 Request Headers 找到:

获得请求数据后,提取数据使用 jsonpath 库,部分提取如下图:

最后需要把数据保存起来,保存为 csv 文件:

最后的保存结果:

这就是整个爬虫流程,其实很简单的。

赵云数据

小编最喜欢玩的英雄是赵云,七进七出,所以想了解一下赵云在这半年中的相关数据。

首先导入数据:

KDA 是(K+A/D)计算出来的,一般取值为 3 即为正常。

需要处理一下 KDA 的值,我们把 KDA 除以 10 保证和胜率,出场率,Ban率,热度在同一量纲:

接下来选择赵云相关数据,查看 Pick 场数排名,Pick 场数:178,总击杀:506,被 Ban 场数:

上场次数在一定程度上说明了此英雄的受欢迎程度,赵云的上场次数排名第八,看来赵云是一个受欢迎程度不错的英雄。

再来计算一下'场均KDA','胜率','出场率','Ban率','热度'所有英雄的均值,并查看赵云的这些值:

画一个雷达图更清晰的对比:

赵云的场均KDA与平均水平一致,其他的高于平均水平,赵云这种没有低于平均水平的英雄还是值得玩一玩的。

再来看看赵云的 KDA 的占比:

看来这半年的比赛中,赵云这个英雄是受欢迎的,但战斗数据在这半年的比赛中一般般刚好达到平均水平,加上小编的游戏体验赵云这个英雄很强的。

相关性

我们再来看看这些值的两两相关性:

制作相关性热力图更直观一些:

颜色越红,正相关越强,我们来看看几个比较红的区域。

  1. Pick场数越多,热度也越高
  2. 热度越高,英雄的禁用率与禁用场数也会变高

总的来说,热度越高的英雄,在某些对局中让人烦,所以禁用率也较高。

热度前十英雄

我们计算热度前十英雄:

好了热度前十的英雄原来是这些,小编接下来准备从这些英雄中选择合适的玩一玩练一练了,打上巅峰王者~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木下学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档