✨前言
📢首先祝大家假期愉快🚀
这个假期,大家是怎么玩的呢❓
小博主我趁着假期也摆了几天😜
因此有好几天没有更新文章了……
今天偷偷的发一篇文章,浅浅做个样子吧😬
今儿写的文章是继上次写的:
这些好看的皮肤,这不嗖的一下,统统都到电脑里了~
嗖的一下系列的更新💨
主要实现的是多线程获取LOL英雄皮肤图片
👉话不多说,直接开始👇
🎮代码实现
import requests
import json
from jsonpath import jsonpath
import os
import threading# 获取英雄基本信息
def get_info():# 英雄列表链接url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js?ts=2774774'# 发送请求,并将html转为json格式json_data = json.loads(requests.get(url, headers=headers).text)# 获取英雄名name = jsonpath(json_data, '$..name')# 获取英雄idheroID = jsonpath(json_data, '$..heroId')return name, heroID# 获取英雄皮肤
def get_skin(name, heroID):# 创建对应英雄文件file_path = f'./lol英雄皮肤/{name}'if not os.path.exists(file_path):os.makedirs(file_path)n = 0while True:# 拼接链接url = f'https://game.gtimg.cn/images/lol/act/img/skin/big{int(heroID)*1000+n}.jpg'res = requests.get(url, headers=headers)if res.status_code == 200:with open(f'{file_path}/{name}-{n}.jpg', 'wb') as f:f.write(res.content)else:breakn += 1print(f'{name} 皮肤下载完成')if __name__ == '__main__':if not os.path.exists('./lol英雄皮肤'):os.makedirs('./lol英雄皮肤')# 构建请求头headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'}# 调用获取英雄名和id的函数name, heroID = get_info()threads = []for i in range(len(name)):t = threading.Thread(target=get_skin(name[i], heroID[i]))threads.append(t)for t in threads:t.start()
- 实现效果