爬虫案例 王者荣耀 皮肤壁纸下载

代码

import urllib.request
import json,sys,os
'''
函数功能 - 使用进度条
parameter - 下载的条数
'''
m=0
k=0
def down_progress(hero_num):
    global m
    global k
    if k!=0 and m<=99 and k%(int)(hero_num/100)==0:
            m+=1
            print("
", end="")
            print("Download progress: {}%: ".format(m), "▋" * (m // 2), end="")
            sys.stdout.flush()
    k+=1
    
'''
函数功能 - 下载
parameter - 无
'''
def download():    
    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 = r'C:UsersDXG爬虫爬虫案例heroskin\'
    if not os.path.exists(save_dir):
        os.mkdir(save_dir)
    for i in range(hero_num):
        down_progress(hero_num)#使用进度条
        hero_name = hero_json[i]['cname']
        hero_dir = save_dir+hero_name+'\'
        if not os.path.exists(hero_dir):
            os.mkdir(hero_dir)
    # 获取英雄皮肤列表
        if 'skin_name' in hero_json[i].keys():
            skin_names = hero_json[i]['skin_name'].split('|')
        else:
            skin_names = hero_json[i]['title'].split('|')
        for cnt in range(len(skin_names)):

            save_file_name = hero_dir + skin_names[cnt] + '.jpg'
            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)
if __name__ == '__main__':
    download()
原文地址:https://www.cnblogs.com/nmydt/p/14493940.html