加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

数据分析与可视化:谁是安全圈的吃鸡第一人

发布时间:2019-04-16 14:10:24 所属栏目:建站 来源:Omegogogo
导读:放假和小搭档们打了几把PUBG,泰半年没碰,居然也不测地躺着吃了次鸡。吃鸡这个游戏公然得4个熟悉的人打(dai)战(dai)术(wo)才更风趣。 因为身边搞安详的人较量多,之前也会和一些安详圈的大佬一路玩,常常会有些熟悉或不熟悉的黑阔大佬开着高科技带着躺鸡
副问题[/!--empirenews.page--]

放假和小搭档们打了几把PUBG,泰半年没碰,居然也不测地躺着吃了次鸡。吃鸡这个游戏公然得4个熟悉的人打(dai)战(dai)术(wo)才更风趣。

因为身边搞安详的人较量多,之前也会和一些安详圈的大佬一路玩,常常会有些熟悉或不熟悉的黑阔大佬开着高科技带着躺鸡。虽然笔者也曾耻辱地开过挂带妹(眷念号被封的第193天)。

那么这些黑阔大佬们,在不开挂的环境下,谁会是他们之中技能最好的呢?带着这样的疑问,试着从数据说明的角度来看看谁会是安详圈的吃鸡第一人。

注:全文所指的“安详圈”是一个很是狭义的观念,在本文中仅包围到小部门安详从颐魅者玩家,以是问题有些强调。若有其他错误也接待指出。

数据说明与可视化:谁是安详圈的吃鸡第一人

一、数据网络

怎么才气知道哪些安详从颐魅者在玩这个游戏,他们的ID又是什么呢?

在一些APP里可以查到玩家的战绩,个中较量有代价的是,还能看到每位玩家的挚友列表。

那么可以有这么个思绪,也就是一个广度优先遍历:

  • 确定一个初始的ID链表,并担保初始链表内都是安详圈内人士。
  • 遍历初始链表内每一位玩家的全部挚友。
  • 当链表内H的挚友J,同时也是链表内其它两位黑客的配合挚友,那么以为J也是安详圈内人士,插手到链表尾处。
  • 向后迭代一再2、3。

1. 下手实现

发明走的是https,挂上证书以MITM的方法来监听https流量:

Image

可以发明数据是以json名目转达的,写个python脚原来自动完成获取数据,单线程+限速(一方面不至于给别人家的api爬挂了另一方面也不至于触发IDS、anti-CC等机制)。

剧本首要代码是:

  1. def r_get(nickname,offset): 
  2.  
  3. #发送给api的request 
  4. ... 
  5.  
  6.     return json#返回一个json名目 
  7.  
  8. def get_friends(nickname): 
  9.  
  10.     offset  = 0  
  11.     res_js = r_get(nickname,str(offset)) 
  12.     temp_friends = res_js['result']['board'] 
  13.     if res_js['status'] == "ok": 
  14.         while len(res_js['result']['board']) == 30: 
  15.             offsetoffset = offset + 30 
  16.             res_js = r_get(nickname,str(offset)) 
  17.             temp_friendstemp_friends = temp_friends + res_js['result']['board'] 
  18.         print("   {0}   的挚友人数    {1}".format(res_js['result']['user_rank']['nickname'], len(temp_friends) -1 )) 
  19.         friends = [] 
  20.         Wxname  = "" 
  21.         Wxsex = "" 
  22.         Wxavatar  = "" 
  23.         sql = "" 
  24.         for playerinfo in temp_friends: 
  25.             if playerinfo['nickname'] != res_js['result']['user_rank']['nickname']: 
  26.                 friends.append(playerinfo['nickname']) 
  27.             elif playerinfo.has_key('heybox_info') == True: 
  28.                 Wxname = playerinfo['heybox_info']['username'] 
  29.                 Wxsex = playerinfo['heybox_info']['sex'] 
  30.                 Wxavatar = playerinfo['heybox_info']['avartar'] 
  31.         friends_s = ','.join(friends)  
  32.  
  33.         sql = "INSERT INTO player (nickname,avatar,steamID,friends,Wxname,Wxsex,Wxavatar)  
  34.               VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')".format(res_js['result']['user_rank']['nickname'],res_js['result']['user_rank']['avatar'], res_js['result']['user_rank']['steam_id'],friends_s,Wxname,Wxsex,Wxavatar) 
  35.         return friends,sql       
  36.     else: 
  37.         print("获取{0}的挚友人数失败, 返回{1}".format(res_js['result']['user_rank']['nickname'],res_js['msg'])) 
  38.         return 1  
  39.  
  40. def record_rds(sql): 
  41.     #db操纵 
  42.  
  43. def main(): 
  44.    ... 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读