爬取王者营地战绩

1.这期要告别我们的老大哥MT了,我们使用 Python 人生苦短,我用Python

需要注意的参数我选中了

最好是我提交了什么参数你们就提交什么参数就 好了 那几个选中格外注意一下就行了 如果要爬取别人的战绩以及对局详情

改一下roleid就可以了[玫瑰]

如果你会一点iapp,那么学起Python是非常快的,因为他们语法太像了[玫瑰]

2.其实手机也可以爬虫,Python有手机编辑器,直接运行也可以,或者说直接使用iapp爬虫,iapp的功能也十分强大,可能有很多人不知道爬虫的概念,爬虫就是通过解析网页源码提取出我们想要的信息。

如果感兴趣的人很多的话,我也可以出一个iapp的爬虫源码。

3.我将数据通过Python保存到了xls表格当中
sheet1是我所有对局
sheet2是每一局的对局详情

其实数据包中还有非常非常多的数据,我只是提取一小部分,我只提供一个思路,并没有精写。

4.某宝应该就是使用这种方法来查隐藏战绩的,他们具体是怎么做到的呢,我举个例子,你打了一把排位,你战绩在营地是关的,但是你会匹配到其他9个人,

你很难保证其他人的战绩全是关的,如果说你们所有人的营地战绩全是关的,那么该场对局就对外绝密了,但这种概率是非常非常小的,

你对局数据的泄露不一定是通过你,也有可能是通过别人而间接泄露你的对局数据,某宝他们自己打几局游戏,根据这几局游戏去查没有关战绩的人的战绩,通过这些人的战绩又能获取很多人很多人的对局数据,这样无限循环下去,

我与你王者好像并没有什么关系,但是如果我们的视角能升到更高的维度,其实我们都在一个蜘蛛网里,我们之间通过各种交错人相连着蛛丝,我这么说,

不知道你们感受到大数据的魅力了吗,他们一切都是通过程序能快速进行,爬的人多了,都存到了库里,就实现了查隐藏战绩。

爬取王者营地战绩插图1

源代码:

import requests
import json
import xlwt

cc=0
time=0
canshu=1
ii=0
zidian=[""]
workbook=xlwt.Workbook(encoding="utf-8")
worksheet=workbook.add_sheet('sheet1')
worksheet2=workbook.add_sheet('sheet2')
url="https://kohcamp.qq.com/game/morebattlelist"
header={
'gameRoleId': '108113011',
'token':'CM7tvfe8',
'userId': '92815055',
'Content-Type': 'application/json; charset=UTF-8',
'Content-Length': '104',
'Host': 'ssl.kohsocialapp.qq.com',
'Connection': 'Keep-Alive',
'Accept-Encoding': 'gzip',
'User-Agent': 'okhttp/4.9.1'
}
while ii==0:
 data = {"lastTime":time,"apiVersion":4,"friendRoleId":"108113011","friendUserId":"92815055","option":0}

 x = requests.post(url=url,json=data,headers=header)
 lasttime=json.loads(x.text)["data"]['lastTime']
 time=lasttime
 x=json.loads(x.text)["data"]["list"]
 print(len(x))
 zidian.extend(x)
 if len(x)10:
     ii=1

mm=len(zidian)
del zidian[0]
for i in range (mm-1):
       zd=zidian[i]
       import requests

       worksheet.write(i, 0, zd['gametime'])
       worksheet.write(i, 1, zd['mapName'])
       worksheet.write(i, 2, "英雄id:")
       worksheet.write(i, 3, zd['heroId'])
       worksheet.write(i, 4, "击杀数:")
       worksheet.write(i, 5, zd['killcnt'])
       worksheet.write(i, 6, "死亡数:")
       worksheet.write(i, 7, zd['deadcnt'])
       worksheet.write(i, 8, "助攻数:")
       worksheet.write(i, 9, zd['assistcnt'])
       gameSeq= zd['gameSeq']
       print(gameSeq)
       gameSeq=str(gameSeq)
       battleType=zd['battleType']
       print(battleType)
       battleType=str(battleType)
       relaySvrId=zd['relaySvrId']
       print(relaySvrId)
       relaySvrId=str(relaySvrId)
       pvpType=zd['pvpType']
       print(pvpType)
       pvpType=str(pvpType)

       gameSvrId=zd['gameSvrId']
       print(gameSvrId)
       gameSvrId=str(gameSvrId)
       AcntCamp=zd['AcntCamp']
       print(AcntCamp)
       AcntCamp=str(AcntCamp)
       import requests
       import json
import requests
import json
import xlwt

cc=0
time=0
canshu=1
ii=0
zidian=[""]
workbook=xlwt.Workbook(encoding="utf-8")
worksheet=workbook.add_sheet('sheet1')
worksheet2=workbook.add_sheet('sheet2')
url="https://kohcamp.qq.com/game/morebattlelist"
header={
'gameRoleId': '108113011',
'token':'CM7tvfe8',
'userId': '92815055',
'Content-Type': 'application/json; charset=UTF-8',
'Content-Length': '104',
'Host': 'ssl.kohsocialapp.qq.com',
'Connection': 'Keep-Alive',
'Accept-Encoding': 'gzip',
'User-Agent': 'okhttp/4.9.1'
}
while ii==0:
 data = {"lastTime":time,"apiVersion":4,"friendRoleId":"108113011","friendUserId":"92815055","option":0}

 x = requests.post(url=url,json=data,headers=header)
 lasttime=json.loads(x.text)["data"]['lastTime']
 time=lasttime
 x=json.loads(x.text)["data"]["list"]
 print(len(x))
 zidian.extend(x)
 if len(x)10:
     ii=1

mm=len(zidian)
del zidian[0]
for i in range (mm-1):
       zd=zidian[i]
       import requests

       worksheet.write(i, 0, zd['gametime'])
       worksheet.write(i, 1, zd['mapName'])
       worksheet.write(i, 2, "英雄id:")
       worksheet.write(i, 3, zd['heroId'])
       worksheet.write(i, 4, "击杀数:")
       worksheet.write(i, 5, zd['killcnt'])
       worksheet.write(i, 6, "死亡数:")
       worksheet.write(i, 7, zd['deadcnt'])
       worksheet.write(i, 8, "助攻数:")
       worksheet.write(i, 9, zd['assistcnt'])
       gameSeq= zd['gameSeq']
       print(gameSeq)
       gameSeq=str(gameSeq)
       battleType=zd['battleType']
       print(battleType)
       battleType=str(battleType)
       relaySvrId=zd['relaySvrId']
       print(relaySvrId)
       relaySvrId=str(relaySvrId)
       pvpType=zd['pvpType']
       print(pvpType)
       pvpType=str(pvpType)

       gameSvrId=zd['gameSvrId']
       print(gameSvrId)
       gameSvrId=str(gameSvrId)
       AcntCamp=zd['AcntCamp']
       print(AcntCamp)
       AcntCamp=str(AcntCamp)
       import requests
       import json
THE END
共23条

请登录后发表评论

相关推荐

人类是如何交匹配的高清版

人类是如何交匹配的高清版-可能资源网
人类是如何交匹配的高清版 人类是通过交配来繁衍后代的,这是一种自然的生殖方式。在人类的交配过程中,男性和女性通过性行为进行结合,使精子和卵子相遇,从而使受精卵形成并发育为胚胎,最终...
可能的头像-可能资源网可能9个月前
015

宝宝好大我都握不住了视频(记录孩子的点点滴滴)

宝宝好大我都握不住了视频(记录孩子的点点滴滴)-可能资源网
宝宝长得真快,好大了,我都握不住了。这是每个父母都会有的感叹。宝宝的成长是如此迅速,让人感叹不已。作为父母,我们要时刻关注宝宝的成长发育,为他们提供最好的照顾和支持。 宝宝的成长离...
可能的头像-可能资源网可能10个月前
0207

人狗大战JAVA代码:高清版超耐看

人狗大战JAVA代码:高清版超耐看-可能资源网
人狗大战是一款非常有趣的游戏,而下面是一个用Java语言编写的人狗大战的代码。该代码经过精心设计,运行稳定,非常耐看。 public class Person { private String name; private int age; publi...
可能的头像-可能资源网可能8个月前
020

在线短信压测免费

在线短信压测免费-可能资源网
几乎适合所有网友们使用的工具,而且直接安装之后就能够开启使用功能了,你可以用来恶搞好友、或者是恶搞对象都可以,最重要的一点就是不用担心被查到你的手机号,开启使用之后,系统会自动提交...
可能的头像-可能资源网可能1年前
175893

我和闺蜜在公交被八人伦

我和闺蜜在公交被八人伦-可能资源网
围殴的经历是一段令人难忘的故事。那天,我和闺蜜一起乘坐公交车回家。我们刚刚进入车厢,突然听到一阵喧哗声。我们转过头,只见一群年轻人正在车厢的另一头吵闹。他们举止粗鲁,言语恶劣,给人...
可能的头像-可能资源网可能10个月前
05632

猫咪mv最新地域网名 “CATS”网名的由来

猫咪mv最新地域网名 “CATS”网名的由来-可能资源网
猫咪MV最新地域网名“CATS”网名的由来 近年来,猫咪视频在网络上越来越受欢迎。而与此同时,一种新的地域网名“CATS”也开始在猫咪爱好者中流行起来。那么,这个网名的由来是什么呢? 首先,我...
可能的头像-可能资源网可能8个月前
011