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()
爬取LOL皮肤(1).zip
需积分: 0 13 浏览量
2023-11-12
20:20:42
上传
评论
收藏 1KB ZIP 举报
2301_80932584
- 粉丝: 0
- 资源: 2
最新资源
- MyBatis 动态 SQL:灵活而强大的查询构建器.pdf
- com.accordion.prettyo.apk
- 毕业设计:基于SSM的mysql-ssm软件bug管理系统(源码 + 数据库 + 说明文档)
- MTSQL8.0.35windows(64bit)-mysql-installer-community-8.0.35.0
- 人工智能引领音乐创作新时代之Suno AI
- Public-bicycle-usage-forecast-master.zip
- 通道处理过程模拟:从理论到实践.pdf
- 数据库第七次作业E-R图第一题
- 大厂面试真题Java语法基础面试专题及答案
- IMG20240428211124.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈