快捷搜索:  汽车  科技

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)暗裔剑魔:http://lol.qq.com/web201310/info-defail.shtml?id=Ahri这时候每一个英雄头像都可以点击,进去之后会有英雄的皮肤壁纸:我们分析每一个英雄主页网址的规律:阿狸:

爬虫分析

今天我们的目的是爬取英雄联盟所有英雄的皮肤壁纸,然后下载到本地。

首先我们要找到皮肤壁纸网页地址:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(1)

在英雄联盟首页>游戏资料>英雄 网页中我们找到了所有英雄信息。对应网址为:

http://lol.qq.com/web201310/info-heros.shtml

这时候每一个英雄头像都可以点击,进去之后会有英雄的皮肤壁纸:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(2)

我们分析每一个英雄主页网址的规律:

阿狸:

http://lol.qq.com/web201310/info-defail.shtml?id=Ahri

暗裔剑魔:

http://lol.qq.com/web201310/info-defail.shtml?id=Aatrox

其实规律已经出来了,就是网址最后的格式为id加上英雄名字。

接下来就是用浏览器查看页面源代码,寻找和英雄皮肤名称以及图片格式"jpg"有关的线索,最终发现关于阿狸的皮肤:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(3)

每个图片的url只需用

“http://osswebimg.qq.com/images/lol/web201310/skin/big”加上后面的代码1030**.jpg 就能够获得。

比如默认皮肤是103000,高丽风情皮肤是103001,等等,以此类推。

由于我们需要遍历所有英雄的id以及相关皮肤编号。用抓包的方式我们找到了文件champion.js中包含我们所需要的信息:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(4)

里面包含了英雄名称以及对应的key。这里的key刚好是皮肤编号的前三位数字。比如阿狸的信息:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(5)

至此我们的分析已经结束了。

爬虫代码

我们先给出编写步骤:

  1. 请求champion.js,获得文件
  2. 处理champion.js文件,获得英雄英文名称
  3. 构建英雄英文名称.js文件的url地址,并且获取文件
  4. 处理英雄英文名称.js文件,获得皮肤名称以及对应代码
  5. 构建皮肤壁纸的url地址,下载保存

我们的代码是参考以下网址:

https://zhuanlan.zhihu.com/p/34835768


由于windows系统中文件名字不能含有斜杠“/”“\”。因此,我加了两句代码过滤掉文件名字中的特殊符号。

结果展示

ig的冠军皮肤:

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(6)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(7)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(8)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(9)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(10)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(11)

还有一些好看的:


英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(12)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(13)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(14)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(15)

英雄联盟英雄抠图素材(用Python爬取英雄联盟英雄皮肤壁纸)(16)

猜您喜欢: