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

python admin 4400 0 评论

首先,神枪镇楼

15310635540917

背景

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

秀一波战绩,开黑情况下我们团队吃鸡率非常高,近100场吃鸡次数51次

简单评估了一下,觉得可行,咱就开始。

Step 1 分析数据接口

第一步当然是把这些战绩数据采集下来,首先我们需要了解页面背后的故事。去看看页面是如何获取战斗数据的。

使用Charles抓包

抓包实现

在Mac下推荐使用工具Charles来从协议层抓取手机上的流量,原理就是在Mac上开启一个代理服务器,然后将手机的网络代理设置为Mac,这样手机上的所有流量都会经过我们的代理服务器了。 大致流程如下: 1

https加密流量的处理

在实际操作的时候发现微信所有的流量都走了HTTPS,导致我们的抓到的都是加密数据,对我们没有任何参考意义。 经过研究,可以通过在手机和电脑都安装Charles根证书的方式来实现对Https流量的分析,具体操作可以参考:

安装证书后,我们的流量大致是这样子的 1 经过上述的配置,我们已经可以读取到https的请求和响应数据了,如下图所示。 15310659449947

  • windows下用findler可以实现相同的功能
  • 其实这就是一个非常典型的中间人场景

数据接口

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

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

下面我们一个一个看

1. 获取用户信息接口

  • request

2. 获取用户战绩列表接口

openid是用户的惟一标识。

2. 获取用户战绩列表接口

高效,专业,符合SEO

联系我们