python入门之爬虫------抓取王者荣耀英雄皮肤图片

抓取王者荣耀英雄全部皮肤图片


目标

在王者荣耀官网下载所有英雄皮肤图片

过程分析

我们仍然需要herolist.json进行辅助,进一步找到英雄皮肤图片对应的url,然后把图片下载下来,保存在一个文件夹里。在王者荣耀官网任意进入一个英雄的资料页,打开开发者工具,找到xxx-bigskin-x.jpg, xxx对应的是英雄编号,x对应的是皮肤的编号。这里我进入的是钟馗的主页,找到175-bigskin-x.jpg,找到它的url
这里写图片描述
这里写图片描述
Request URL:http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/175/175-bigskin-1.jpg ,这个网址就是需要的图片下载地址。只不过我们要针对不同的英雄对网址中的编号进行修改。当然,也可以对下载的图片进行统一命名,下面是完整代码

完整代码

import urllib.request
import json
import os
# 响应
response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")

# 列表-字典数据
hero_json = json.loads(response.read()) # 接受响应,读取内容
hero_num = len(hero_json)

# 创建文件夹
save_dir = 'heroskin/'
if not os.path.exists(save_dir):
    os.mkdir(save_dir)

for i in range(hero_num):
    skin_names = hero_json[i]['skin_name'].split('|')

    for cnt in range(len(skin_names)):
        #文件名,有几个皮肤,就下载几个图片
        save_file_name = save_dir + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + skin_names[cnt] + '.jpg'
        # 图片url
        skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(hero_json[i]['ename'])+'/' +str(hero_json[i]['ename']) + '-bigskin-' + str(cnt+1) +'.jpg'

        if not os.path.exists(save_file_name):
            urllib.request.urlretrieve(skin_url, save_file_name)

结果展示

这里写图片描述

猜你喜欢

转载自blog.csdn.net/pici7002/article/details/82252593