博主学完爬虫之后玩lol时突发奇想能不能自己做一个查询lol战绩的程序出来,于是起初想的是有没有网页可以直接查询lol战绩,我直接去获取他的接口从而达到目的,但是很遗憾,截至到目前位置博主并没有发现除了wegame以外可以查询战绩的软件或者网站。于是只能对着wegame这块硬茬子来试一试,话不多说,进入正文:
要抓包肯定少不了fiddler,打开fiddler之后,打开wegame,点击查找--召唤师搜索那一栏,
、抓包到这些请求量,当然博主认为是无关紧要的,紧接着博主想输入召唤师id去抓包到wegame的请求。于是乎搜索123(随便搜的),经过博主的不懈努力,我终于找到一条与123这些召唤师相关的url:
如上图这就是查询123后抓到得到的response,这些body中的键值对经过博主层层研究后得出:area_id就是召唤师123对应的区服(怎么看对应的数字对应得区服得,可以通过此url按F12查看一个LOL开头得js文件就可查找到,可能还有意外得收获哟: LOL助手-查找),qquin为每个用户登录tgp后都有一个队友的qquin(这个qquin为后续得post请求表单中得id对应得值),然后博主在wegame中点击其中一个名为123id得用户,得到一些post请求得url,响应信息全部为该123召唤师在wegame中能看到得相关得所有得信息(看不到得也有),表单信息就是先前提到得 qquin 以及一些相关参数。
这些信息相信玩过lol得朋友都知道,就是玩家每一场得kda,杀了多少个,玩的什么英雄,等等,总之wegame上面能看到得信息全在这几个post请求里面,(看不到得也有)博主就随便复制两个,其中得参数大伙们可以自行去慢慢研究 such as:https://www.wegame.com.cn/api/v1/wegame.pallas.game.LolBattle/GetBattleList
https://www.wegame.com.cn/api/v1/wegame.pallas.game.LolBattle/GetBattleReport
pass:所使用得英雄对应得参数也在博主先前给的url里面,按F12LOL开头得js文件大伙便可以找到。
这是我输入123后抓包得到得get请求得url 开始callback参数博主想到json,然后通过资料查找得出这是jsonp得一种跨域传输方式(callback里面得内容为响应得内容信息),这种带回调参数得url说实话博主也是第一次遇见,于是乎,博主不管是去掉callback去request也好,还是对它的Refere去request也好,总而言之,博主失败了!可能是博主功力太薄弱,花了许久时间还是没能解决这个问题,至此发表此博客,将博主在这次爬取中得到得信息分享给大家,以及这种带callback参数得url到底能否爬取讷,想听听大伙们得意见。也欢迎各路大佬发表看法,如可以解决将万分感谢,不喜勿喷,谢谢!