爬取英雄联盟英雄皮肤图片
from requests_html import HTMLSession
from fake_useragent import UserAgent
from csv import DictWriter
from tqdm import tqdm
import os
def requetss_html1(u):
""" 用于请求网页,需要传入url"""
user_agent = UserAgent()
heads = {"User-Agent": user_agent.random}
session = HTMLSession()
a = session.get(u, headers=heads)
return a
url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js?ts=2829225'
yinxiong = requetss_html1(url)
yinxiong_list = yinxiong.json()
yinxiong_list = yinxiong_list["hero"]
with open("date.csv", "a+", newline="") as f:
a = DictWriter(f, ["编号", "名字"])
a.writeheader()
url_list = []
name_list = []
for i in tqdm(yinxiong_list):
bianhao = i["heroId"]
name = i['name'] + i['alias']
b = str(name).replace('/', "")
a.writerow({'编号': bianhao, '名字': b})
path = f"图片\\{name}"
if not os.path.exists(path):
os.makedirs(path)
url = f'https://game.gtimg.cn/images/lol/act/img/js/hero/{bianhao}.js?ts=2829239'
url_list.append(url)
name_list.append(name)
for iiii in tqdm(range(len(url_list))):
i = url_list[iiii]
name = name_list[iiii]
wenwen = 0
tupian_dict = (requetss_html1(i)).json()
tupian_lis = tupian_dict["skins"]
for ii in range(len(tupian_lis)):
dict_tupian = tupian_lis[ii]
dict_url = dict_tupian["mainImg"]
if dict_url != "":
tupian_jpg = requetss_html1(dict_url)
with open(f"图片\\{name}\\{wenwen}.jpg", "wb") as f:
f.write(tupian_jpg.content)
wenwen += 1