微博 Qzone 微信 小伙用Python 分析了 20 万场吃…
2018-07-11 03:41:09来源:博客园 阅读 ()
背景
最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波。 上周在在微信游戏频道看战绩的时候突发奇想,是不是可以通过这个方式抓取到很多战斗数据,然后分析看看有什么规律。
首先,神枪镇楼
第一步、分析数据接口
使用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学习交流群:125240963可以获取小编精心准备的海量Python学习资料
如果需要源码的话也可以在Python学习交流群:125240963获取
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 微信推送功能实现 2019-07-24
- 手把手教你微信好友头像形成指定的文字 2019-07-24
- python探索微信朋友信息 2019-06-14
- Django2.0+小程序技术打造微信小程序助手百度云 2019-05-16
- python-itchat 统计微信群、好友数量的实例 2019-04-29
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