python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢

2019-03-14  本文已影响0人  极客夜读

首先,神枪镇楼

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

吃鸡,撩妹神器

吃鸡游戏受到很多年轻人的喜爱,用户量也非常大。有很多地图,场景逼真,技术玩法,增加了游戏可玩性。而且,很多小姐姐也喜欢玩,几乎在组队当中,都可以碰到。带个妹子组队游戏,一边语音一边吃鸡,带小姐姐吃鸡就很容易获取芳心啦!

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

一顿操作猛如虎

1、首先分析数据接口

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

使用Charles抓包

抓包实现

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

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

https加密流量的处理

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

1、charles mac下https抓包和iphone https抓包

2、解决Charles无法正常抓包iOS 11中的Https请求

安装好证书后,我们的流量大概是这样子的

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

经过上述的配置,我们已经可以读取到https的请求和响应数据了,如下图所示。

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

数据接口

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

1、获取用户信息接口

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

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

接下来我们一个一个看

1、获取用户信息接口

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

request

代码1:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

代码2:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

代码3:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

2、获取用户战绩列表

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

代码1:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

代码2:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

接下来就是爬取数据

使用requests请求接口获取数据

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

参照这种方式我们可以很快把另外两个接口写好。

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

在上述接口中我们可能从用户A的入口进去找到用户B的openid,然后从用户B的入口进去又找到用户A的openid,为了避免重复采集,所以我们需要记录下哪些信息是我们采集过的。 核心代码片断:

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

开始抓取

因为我们是发散是爬虫,所以需要给代码一个用户的入口,所以需要手动创建一个用户的采集任务

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

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

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

这样我们的爬虫就可以愉快的跑起来了。再通过celery-flower来查看执行情况。

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

最后,数据分析

分析方案

20万场战斗的数据已经抓取好了,全部分成json文件存在我本地磁盘上,接下来就做一些简单的分析。 python在数据分析领域也非常强大,有很多非常优秀的库,如pandas和NumPy,可惜我都没有学过,而且对于一个高考数学只考了70几分的人来说,数据分析实在是难,所以就自己写了一个非常简单的程序来做一些浅度分析。 需要进行深度分析,又不想自己爬虫的大牛可以联系我打包这些数据。

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

部分代码

分析结果

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

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

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

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

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

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

python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

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

结尾

这次爬虫主要是利用了微信游戏频道可以查看陌生人数据的场景才能提取到这么多数据。我们可以通过同样的手段来分析王者荣耀和其它游戏的数据,有兴趣的同学可以尝试一下。 最后再说一下,UMP9是把好枪,配2倍镜非常爽。
如果你同样对python感兴趣,那就不会拒绝加小编的python技术交流群的吧,python交流群:823137423

上一篇下一篇

猜你喜欢

热点阅读