小伙用Python 分析了 20 万场吃鸡数据

最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波。 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数据,然后分析看看有什么规律。

首先,神枪镇楼

小伙用Python 分析了 20 万场吃鸡数据

第一步、分析数据接口

使用Charles抓包

小伙用Python 分析了 20 万场吃鸡数据

https加密流量的处理

经过研究,可以通过在手机和电脑都安装Charles根证书的方式来实现对Https流量的分析

小伙用Python 分析了 20 万场吃鸡数据

数据接口

接下来就根据这些数据来找出我们需要的接口了,经过分析,主要涉及三个接口

获取用户信息接口

获取用户战绩列表接口

获取用户指定战绩详细信息接口

下面我们一个一个看

1. 获取用户信息接口

request

小伙用Python 分析了 20 万场吃鸡数据

response

小伙用Python 分析了 20 万场吃鸡数据

同理获取用户战绩列表接口和获取用户战绩详情接口

第二步、爬取数据

使用requests请求接口获取数据

小伙用Python 分析了 20 万场吃鸡数据

使用redis来标记已经爬取过的信息

小伙用Python 分析了 20 万场吃鸡数据

使用celery来管理队列

小伙用Python 分析了 20 万场吃鸡数据

然后在task中控制API请求和Redis数据实现完整的任务逻辑,如:

小伙用Python 分析了 20 万场吃鸡数据

开始抓取

小伙用Python 分析了 20 万场吃鸡数据

有入口之后我们就用celery来启动worker去开始爬虫

小伙用Python 分析了 20 万场吃鸡数据

通过flower,我们可以看到运行的效率还是非常不错的。

小伙用Python 分析了 20 万场吃鸡数据

第三步、数据分析

小伙用Python 分析了 20 万场吃鸡数据

分析结果

1. 平均用户日在线时长2小时

小伙用Python 分析了 20 万场吃鸡数据

从分布图上看大部分用户都在1小时以上,最猛的几个人超过8小时。

注:我这里统计的是每一局的存活时间,实际在线时长会比我这个更长。

2. 女性角色被救次数高于男性

小伙用Python 分析了 20 万场吃鸡数据

终于知道为什么有那么多人妖了,原来在游戏里面可以占便宜啊。

3. 女性角色救人次数高于男性

小伙用Python 分析了 20 万场吃鸡数据

给了大家一个带妹上分的好理由。

4. 周五大家最忙

小伙用Python 分析了 20 万场吃鸡数据

估计周五大家都要忙着交差和写周报了。

5. 晚上22点是游戏高峰

小伙用Python 分析了 20 万场吃鸡数据

凌晨还有那么多人玩,你们不睡觉吗?

6. 最远击杀距离639米

我看了一下98K、SKS 和 AWP 的有效射程,大致都在 800 米以内,所以这个值可信度还是可以的。 反过来看抖音上的那些超远距离击杀应该都是摆拍的。

7. 能拿到「救死扶伤」称号才是最高荣耀

小伙用Python 分析了 20 万场吃鸡数据

从分布情况可以看出来,救死扶伤比十杀还要难。

小伙用Python 分析了 20 万场吃鸡数据

能拿到救死扶伤称号的大部分都是女性角色,

>>>>阅读全文