英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)
英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)暗裔剑魔:http://lol.qq.com/web201310/info-defail.shtml?id=Ahri这时候每一个英雄头像都可以点击,进去之后会有英雄的皮肤壁纸:我们分析每一个英雄主页网址的规律:阿狸:
爬虫分析今天我们的目的是爬取英雄联盟所有英雄的皮肤壁纸,然后下载到本地。
首先我们要找到皮肤壁纸网页地址:
在英雄联盟首页>游戏资料>英雄 网页中我们找到了所有英雄信息。对应网址为:
http://lol.qq.com/web201310/info-heros.shtml
这时候每一个英雄头像都可以点击,进去之后会有英雄的皮肤壁纸:
我们分析每一个英雄主页网址的规律:
阿狸:
http://lol.qq.com/web201310/info-defail.shtml?id=Ahri
暗裔剑魔:
http://lol.qq.com/web201310/info-defail.shtml?id=Aatrox
其实规律已经出来了,就是网址最后的格式为id加上英雄名字。
接下来就是用浏览器查看页面源代码,寻找和英雄皮肤名称以及图片格式"jpg"有关的线索,最终发现关于阿狸的皮肤:
每个图片的url只需用
“http://osswebimg.qq.com/images/lol/web201310/skin/big”加上后面的代码1030**.jpg 就能够获得。
比如默认皮肤是103000,高丽风情皮肤是103001,等等,以此类推。
由于我们需要遍历所有英雄的id以及相关皮肤编号。用抓包的方式我们找到了文件champion.js中包含我们所需要的信息:
里面包含了英雄名称以及对应的key。这里的key刚好是皮肤编号的前三位数字。比如阿狸的信息:
至此我们的分析已经结束了。
爬虫代码我们先给出编写步骤:
- 请求champion.js,获得文件
- 处理champion.js文件,获得英雄英文名称
- 构建英雄英文名称.js文件的url地址,并且获取文件
- 处理英雄英文名称.js文件,获得皮肤名称以及对应代码
- 构建皮肤壁纸的url地址,下载保存
我们的代码是参考以下网址:
https://zhuanlan.zhihu.com/p/34835768
由于windows系统中文件名字不能含有斜杠“/”“\”。因此,我加了两句代码过滤掉文件名字中的特殊符号。
ig的冠军皮肤:
还有一些好看的: