小伙用Python 分析了 20 万场吃鸡数据
最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波。 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数据,然后分析看看有什么规律。
首先,神枪镇楼
第一步、分析数据接口
使用Charles抓包
https加密流量的处理
经过研究,可以通过在手机和电脑都安装Charles根证书的方式来实现对Https流量的分析
数据接口
接下来就根据这些数据来找出我们需要的接口了,经过分析,主要涉及三个接口
获取用户信息接口
获取用户战绩列表接口
获取用户指定战绩详细信息接口
下面我们一个一个看
1. 获取用户信息接口
request
response
同理获取用户战绩列表接口和获取用户战绩详情接口
第二步、爬取数据
使用requests请求接口获取数据
使用redis来标记已经爬取过的信息
使用celery来管理队列
然后在task中控制API请求和Redis数据实现完整的任务逻辑,如:
开始抓取
有入口之后我们就用celery来启动worker去开始爬虫
通过flower,我们可以看到运行的效率还是非常不错的。
第三步、数据分析
分析结果
1. 平均用户日在线时长2小时
从分布图上看大部分用户都在1小时以上,最猛的几个人超过8小时。
注:我这里统计的是每一局的存活时间,实际在线时长会比我这个更长。
2. 女性角色被救次数高于男性
终于知道为什么有那么多人妖了,原来在游戏里面可以占便宜啊。
3. 女性角色救人次数高于男性
给了大家一个带妹上分的好理由。
4. 周五大家最忙
估计周五大家都要忙着交差和写周报了。
5. 晚上22点是游戏高峰
凌晨还有那么多人玩,你们不睡觉吗?
6. 最远击杀距离639米
我看了一下98K、SKS 和 AWP 的有效射程,大致都在 800 米以内,所以这个值可信度还是可以的。 反过来看抖音上的那些超远距离击杀应该都是摆拍的。
7. 能拿到「救死扶伤」称号才是最高荣耀
从分布情况可以看出来,救死扶伤比十杀还要难。
能拿到救死扶伤称号的大部分都是女性角色,再一次证明玩游戏要带妹。 回归到这个游戏的本质,那就是生存游戏,没什么比活下来更重要的了。小编推荐一个学Python的学习q-u-n 二二七,
四三五,
四五零
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!希望新手少走弯路
结尾
这次爬虫主要是利用了微信游戏频道可以查看陌生人数据的场景才能提取到这么多数据。我们可以通过同样的手段来分析王者荣耀和其它游戏的数据,有兴趣的同学可以尝试一下。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
线性回归与梯度下降法-原理与Python实现【重要】
本文主要讲了梯度下降法的两种迭代思路,随机梯度下降(Stochastic gradient descent)和批量梯度下降(Batch gradient descent)。以及他们在python中的实现。 梯度下降法 梯度下降是一个最优化算法,通俗的来讲也就是沿着梯度下降的方向来求出一个函数的极小值。那么我们在高等数学中学过,对于一些我们了解的函数方程,我们可以对其求一阶导和二阶导,比如说二次函数。可是我们在处理问题的时候遇到的并不都是我们熟悉的函数,并且既然是机器学习就应该让机器自己去学习如何对其进行求解,显然我们需要换一个思路。因此我们采用梯度下降,不断迭代,沿着梯度下降的方向来移动,求出极小值。 此处我们还是用coursea的机器学习课中的案例,假设我们从中介那里拿到了一个地区的房屋售价表,那么在已知房子面积的情况下,如何得知房子的销售价格。显然,这是一个线性模型,房子面积是自变量x,销售价格是因变量y。我们可以用给出的数据画一张图。然后,给出房子的面积,就可以从图中得知房子的售价了。 现在我们的问题就是,针对给出的数据,如何得到一条最拟合的直线。 对于线性模型,如下。 h(x)...
- 下一篇
项目的一些命名规范
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯。代码编写规范使用范围:J2EE项目开发。包命名规范:目的:包的命名规范应当体现出项目资源良好的划分 servlet类所在包命名规范:公司名称.开发组名称.项目名称.web.servlet例如:net.linkcn.web.servlet 自定义标签类所在包命名规范:公司名称.开发组名称.项目名称.web.tags例如:net.linkcn.web.tags 过滤器类所在包命名规范:公司名称.开发组名称.项目名称.web.filter例如:net.linkcn.web.filter Action类所在包命名规范:公司名称.开发组名称.项目名称.web.struts.action例如:net.linkcn.web.struts.action ActionForm类所在包命名规范:公司名称.开发组名称.项目名称.web.struts.form例如:net.linkcn.web.struts.form Javabean所在包命名规范:公司名称.开发组名称.项目名称.web.struts.service.impl...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7