利用Python分析了20万场吃鸡数据!终于找到了把…
2018-07-11 03:41:18来源:博客园 阅读 ()
首先,神枪镇楼
背景
秀一波战绩,开黑情况下我们团队吃鸡率非常高,近100场吃鸡次数51次
简单评估了一下,觉得可行,咱就撸起袖子干。
Step 1 分析数据接口
https加密流量的处理
经过上述的配置,我们已经可以读取到https的请求和响应数据了,如下图所示。
- windows下用findler可以实现相同的功能
- 其实这就是一个非常典型的中间人场景
API/cgi-bin/gamewap/getpubgmbattlelist方法GET参数openid、pass_ticket、plat_id、after_time、limitcookiekey pass_ticket、uin、pgv_pvid、sd_cookie_crttime、sd_userid
- response
2. 获取用户战绩列表接口
- 分析
openid是用户的惟一标识。
2. 获取用户战绩列表接口
- 分析
- 这个接口用after_time来进行分页,遍历获取时可以根据接口响应的has_next和next_after_time来判断是否还有下一页的数据。
- 列表里面的room_id是每一场battle的惟一标识。
3. 获取用户战绩详情接口
- request
- request
使用celery来管理队列
celery是一个非常好用的分布式队列管理工具,我这次只打算在我自己的电脑上运行,所以并没有用到分布式的功能。 我们创建三个task和三个queue
开始抓取
因为我们是发散是爬虫,所以需要给代码一个用户的入口,所以需要手动创建一个用户的采集任务
通过flower,我们可以看到运行的效率还是非常不错的。
在执行过程中会发现get_battle_list跑太快,导致get_battle_info即使开了30个并发都还会积压很多,所以需要适时的去停一下这些worker。 在我们抓到20万条信息之后就可以停下来了。
分析结果
1. 平均用户日在线时长2小时
从分布图上看大部分用户都在1小时以上,最猛的几个人超过8小时。
注:我这里统计的是每一局的存活时间,实际在线时长会比我这个更长。
2. 女性角色被救次数高于男性
终于知道为什么有那么多人妖了,原来在游戏里面可以占便宜啊。
3. 女性角色救人次数高于男性
给了大家一个带妹上分的好理由。
4. 周五大家最忙
估计周五大家都要忙着交差和写周报了。
5. 晚上22点是游戏高峰
凌晨还有那么多人玩,你们不睡觉吗?
能拿到救死扶伤称号的大部分都是女性角色,再一次证明玩游戏要带妹。 回归到这个游戏的本质,那就是生存游戏,没什么比活下来更重要的了。
结尾
这次爬虫主要是利用了微信游戏频道可以查看陌生人数据的场景才能提取到这么多数据。我们可以通过同样的手段来分析王者荣耀和其它游戏的数据,有兴趣的同学可以尝试一下。 最后再说一下,UMP9 是把好枪,配 2 倍镜非常爽。
私信小编007 即可获取源码和十套PDF哦!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash