admin管理员组

文章数量:1619183

爬虫之爬取英雄联盟战绩详细数据

思路解析:

我们首先打开LOL游戏官网,登录自己的账号(因为牵扯到账号,所以需要用到cookie),然后选择你想爬取数据的大区!
在这个界面我们按下F12查看源代码,在Network下的JS里,刚开始什么都没有,我们需要重新加载网页然后才会显示各种数据

如果你看下除了第一个?c=Battle的其他相同名字数据就会发现,下面的每一条数据正好对应着左侧的每一局游戏,我们点开几个游戏数据,在general的url里发现只有一个参数变了,那就是gameId,这个gameId在哪里得到的呢?就是从第一条?c=Battle的数据里得来的.

这里我们找到了gameId的位置,只要把所有的gameId得到,就可以进一步提取每一局的游戏数据了

我们通过第一条游戏数据,找到队伍里自己的位置,我是在第六的位置,然后在stats里就是自己的详细游戏数据了,我们这次要爬取的数据主要就是在这里.

我们看下gameId的获取方式,知道url,请求方式为get,接下来就可以上代码了

第一部分,获取gameIds

import requests,json #导入模块
url = 'https://lol.sw.game.qq/lol/api/?c=Battle&a=matchList&areaId=30&accountId=4007807286&queueId=70,72,73,75,76,78,96,98,100,300,310,313,317,318,3'#太长了,输入你自己的网址就行了
headers = {
   'Cookie':'因太长,写入你自己的就可以了',
		   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,      		like Gecko) Chrome/80.0.3987.122 Safari/537.36'}#防止反爬虫
#获取网页源代码
res = requests.get(url,headers = headers) #解析这个网页
print(res.status.code)#状态码为200说明正常
print(res.text) #打印看看是不是有很多数据,有就对了,如果只有两行说明哪地方出错了
json = json.

本文标签: 爬虫战绩英雄数据联盟