以进销存为例,揭需求梳理之“痛”

文件或目录损坏且无法读取解决方法

  返回  

(五)Python—lol根据用户输入下载皮肤

2021/8/21 12:24:39 浏览:

(五)Python—lol根据用户输入下载皮肤

import requests
import os
import urllib.request #爬虫库,这里只用他的下载方法

#返回所有英雄id,打印出所有英雄的名字和id
def getHeroIdList():
    heroList = requests.get(herolist_url).json()['hero']
    i = 0
    for hero in heroList:
        #添加英雄id
        heroIdList.append(hero['heroId'])
        print(hero['heroId'],hero['name'],end='\t\t')
        i+=1
        if i==4:
            print()#换行
            i=0
#根据文件下载皮肤
def downloadSkin():
    #1. 获取用户键盘输入的内容
    inputId = input("请输入要下载的英雄id: ")
    #2. 首先判断输入id是否存在   in:在什么里面
    if inputId in heroIdList:
        #3. 向英雄详情发请求,获取英雄所有皮肤
        skinList = requests.get(heroinfo_url.format(inputId)).json()['skins']
        for skin in skinList:
            #4. 创建英雄名称的文件夹
            if not os.path.exists(skin['heroName']):
                os.mkdir(skin['heroName'])
            #5. 判断是不是炫彩皮肤
            if skin['mainImg']!='':
                urllib.request.urlretrieve(skin['mainImg'],"{}/{}.jpg".format(skin['heroName'],skin["name"].replace("/","")))
            else:
                urllib.request.urlretrieve(skin['chromaImg'], "{}/{}.jpg".format(skin['heroName'], skin["name"].replace("/","")))
            print("{}的{}皮肤下载完成".format(skin['heroName'],skin['name']))
    else:
        print("您输入的id不存在")

#做个目录菜单
def menu():
    #获取所有的英雄id
    getHeroIdList()
    # 调用下载皮肤的方法
    downloadSkin()
    #用户输入y:继续  输入n:退出
    yesOrNo = input("输入y,继续;输入n:退出")
    if yesOrNo=='y':
        menu()
    elif yesOrNo=='n':
        print("程序正在退出...")

if __name__ == '__main__':
    # main函数中的变量是全局变量(其他函数可以随意使用)
    herolist_url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
    heroinfo_url = "https://game.gtimg.cn/images/lol/act/img/js/hero/{}.js"
    heroIdList = []
    menu()

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号