"""
英雄联盟英雄皮肤抓取
2020-10-20
"""
# 1.导入框架
import requests
import re
import json
# 2.向目标网络发送请求
base_url = 'https://game.gtimg.cn/images/lol/act/img/skin/big'
url = 'https://lol.qq.com/biz/hero/champion.js'
# https://lol.qq.com/web201310/js/herovideo.js 名字网址
# url.js具体网络分析不是很清楚,没有详细解释。
res = requests.get(url).text
# print(res)
# 3.数据筛选
data = re.search(r'"keys":(.*?),"data":',res).group(1)
data = json.loads(data)
for id,name in data.items():
print(id,name)
for number in range(35): # 此处range(35)应该设置成动态数字。
iamge_url = base_url +id + '%03d'%number + '.jpg' # 需连接英雄中文名字
if requests.get(iamge_url).status_code == 200:
print(iamge_url)
# 4.保存数据
iamge = requests.get(iamge_url).content
with open('./LOL皮肤/%s%d' % (name,number) + '.jpg','wb') as f:
f.write(iamge)
总结:本代码库需要优化,英雄中文名字与图片名字没有对应;下载到最后程序会报错。