[Python] 纯文本查看 复制代码import requests
import os
from threading import Thread
class Spider(object):
os_path = os.getcwd() + '/王者荣耀壁纸图片/'
if not os.path.exists(os_path):
os.mkdir(os_path)
def __init__(self):
self.start_url = 'https://pvp.qq.com/web201605/js/herolist.json'
self.headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0'}
def parse_start_url(self):
response=requests.get(self.start_url,headers=self.headers).json()
print(response)
for item in response:
hero_id=item['ename']
hero_name=item['cname']
os_hero_path = self.os_path + f"/{hero_name}/"
if not os.path.exists(os_hero_path):
os.mkdir(os_hero_path)
hero_num_list=item['skin_name'].split('|')
for num,skinname in enumerate(hero_num_list):
img_url=f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{hero_id}/{hero_id}-bigskin-{num+1}.jpg'
# print(hero_name,skinname,url)
#self.parse_save_skin(os_hero_path, img_url, hero_name, skinname)
Thread(target=self.parse_save_skin, args=(os_hero_path, img_url, hero_name, skinname)).start()
def parse_save_skin(self, os_hero_path, img_url, hero_name, skinname ):
skinname = skinname.replace("-", "_").replace("/", "_").replace("\\", "_")
data = requests.get(img_url, headers=self.headers).content
with open(f"{os_hero_path}{skinname} .jpg", 'wb') as f:
f.write(data)
print(f"英雄 {hero_name}的皮肤 -- {skinname} -- 下载完成")
if __name__ == '__main__':
spider = Spider()
spider.parse_start_url()