Python :简单的几行代码获取王者荣耀全部皮肤
之前我发布过一篇关于爬取王者荣耀全部皮肤的文章,由于那篇文章还是存在少许漏洞的,你会发现从英雄详细信息获取的json里面会没有新出的英雄和皮肤,这个json文件可能TIMI已经换了别的文件来存放英雄信息(我猜的),所以,你会发现从上一篇的代码里下载下来的只有344个图片,很显然是缺少的,所以,这一篇利用遍历的方法把所有可能的url都遍历一遍,以获得全部的皮肤图片。接下来直接上代码:
import urllib.request
import os
save_dir = 'D:\heroskin111\\'
if not os.path.exists(save_dir):
os.mkdir(save_dir)
for i in range(105,600):
for j in range(1,10):
try:
url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{}/{}-bigskin-{}.jpg".format(i,i,j)
save_name = save_dir + '{}_{}.jpg'.format(i,j)
urllib.request.urlretrieve(url, save_name)
print(url,'成功保存到本地')
except:
print(url,'fail')
对代码的过程稍作解释:
1、首先自己定一个存储图片的文件夹save_dir
2、然后开始遍历
第一个for是英雄的id(id号是从105开始,这个可以从上一篇的json里面开到,第一个是105廉颇的)
第二个for是每个英雄的皮肤(应该没有哪个英雄皮肤大于10个吧)
3、开始拼凑url
4、最后通过urllib.request.urlretrieve(url, save_name)保存到本地
一个漂亮的桌面就这样弄好了,如果从官网直接下载的图片,它是带【王者荣耀】水印的,个人感觉不美观,所以就通过这种方法来获取图片。