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()
(五)Python—lol根据用户输入下载皮肤
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- // 输入框文字改变的时候调用 -(void)searchBar:(UISearchBar *)searchB...