python爬虫王者荣耀高清壁纸

news/2024/10/22 2:40:57/
# run.py
import re, os, time, json, requests
from urllib.parse import unquote
import concurrent.futures as cfclass WangzheDownloader(object):# 初始化def __init__(self):self.root = './heros/'if not os.path.exists(self.root):os.mkdir(self.root)self.numberSize = 6self.url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=20&totalpage=0&page={}&iOrder=0&SearchKey=sProdName&iSortNumClose=1&iAMSActivityId=51991&_everyRead=true&iTypeId=2&iFlowId=267733&iActId=2735&iModuleId=2735&_=1607443031450'res = requests.get(self.url.format(0)).json()self.totalPage = int(res.get('iTotalPages'))self.sum = int(res.get('iTotalLines'))self.count = 0self.startTime = time.time()# 选择壁纸分辨率def size(self):print('壁纸分辨率及序号如下: ')size_list = ['1 > 缩略图','2 > 1024x768','3 > 1280x720','4 > 1280x1024','5 > 1440x900','6 > 1920x1080 (推荐)','7 > 1920x1200','8 > 1920x1440']for size in size_list:print(size)numberSize = input('请选择分辨率 (默认是6): ')self.numberSize = numberSize if numberSize else 6# 获取103位英雄的名字def name(self):url = 'https://pvp.qq.com/web201605/js/herolist.json'res = requests.get(url).json()self.hero = [item['cname'] for item in res]# 单张图片下载def down(self, img_name, img_url):res = requests.get(img_url)with open(img_name, 'wb') as f:f.write(res.content)self.count += 1endTime = time.time()self.show(self.count, self.sum, endTime-self.startTime)# 爬取每一页def page(self, numberPage):res = requests.get(self.url.format(numberPage)).json()for item in res.get('List'):# 去除图片名中的特殊字符img_name = re.sub('[/\\:*?"<>|]', '', unquote(item['sProdName']))# 根据英雄名建立分类文件夹temp = re.split('[·-]', img_name)control = Truefor each in temp:if each in self.hero:control = Falseimg_dir = self.root+eachif not os.path.exists(img_dir):os.mkdir(img_dir)img_name = img_dir+'/'+img_name+'.jpg'breakif control:img_dir = self.root+'其它'if not os.path.exists(img_dir):os.mkdir(img_dir)img_name = img_dir+'/'+img_name+'.jpg'img_url = unquote(item[f'sProdImgNo_{self.numberSize}'])img_url = img_url.replace('/200', '/0') # /0才是原图,/200都是缩略图self.down(img_name, img_url)# 打印进度条def show(self, num, _sum,  runTime):barLen = 20  # 进度条的长度perFin = num/_sumnumFin = round(barLen*perFin)numNon = barLen-numFinleftTime = (1-perFin)*(runTime/perFin)print(f"{num:0>{len(str(_sum))}}/{_sum}",f"|{'█'*numFin}{' '*numNon}|",f"任务进度: {perFin*100:.0f}%",f"已用时间: {runTime:.0f}S",f"剩余时间: {leftTime:.0f}S",end='\r')if num == _sum:print()# 多线程def main(self):self.size()self.name()with cf.ThreadPoolExecutor() as tp:for page in range(self.totalPage):tp.submit(self.page, page)if __name__ == "__main__":WangzheDownloader().main()

http://www.ppmy.cn/news/439771.html

相关文章

​说了你可能不信,这是一份王者荣耀接口文档

文章目录 前言 使用说明 王者荣耀相关接口 一、英雄列表接口 二、英雄列表接口&#xff08;2&#xff09; 三、装备接口 四、召唤师技能接口 五、铭文接口 六、英雄详细资料&#xff0c;语音接口 七、英雄壁纸接口 前言 有的同学在学习中需要使用到一些接口做实验&a…

web前端-王者荣耀官网

目录 一、头部导航栏 二、隐藏下拉框导航栏 1、 效果展示​编辑 2、HTML部分代码 3、 CSS部分代码 三、设置a标签实现的一个跳转 四、轮播图及诸葛四图区域 1、效果展示 2、HTML部分代码 3、CSS部分代码 五、内容中心区域 1、效果展示 2、HTML部分代码 3、CSS部…

FreeRTOS 任务优先级 【杂记】

FreeRTOS任务优先级 FreeRTOS任务优先级&#xff1a;任务优先级数值越小&#xff0c;任务优先级越低。 1、 FreeRTOS 中任务的最高优先级是通过 FreeRTOSConfig.h 文件中的configMAX_PRIORITIES 进行配置的&#xff0c;用户实际可以使用的优先级范围是 0 到 configMAX_PRIORIT…

王者荣耀高清壁纸脚本Python文件

网上查的不能运行&#xff0c;自己修改后&#xff0c;顺利执行&#xff0c;获取王者荣耀的所有高清壁纸&#xff0c;如果不能运行&#xff0c;请评论或者私信给我&#xff0c;配环境是个麻烦事&#xff0c;建议Python3.0以上执行&#xff0c;很爽&#xff01; ""&qu…

代码随想录二刷day25 | 回溯 之 216.组合总和III 17.电话号码的字母组合

216.组合总和III 题目链接 解题思路&#xff1a; 选取过程如图&#xff1a; 图中&#xff0c;可以看出&#xff0c;只有最后取到集合&#xff08;1&#xff0c;3&#xff09;和为4 符合条件。 递归三部曲 确定递归函数参数 和77. 组合 一样&#xff0c;依然需要一维数组path…

感受龙芯电脑

前天去办公室&#xff0c;忽然发现门口居然摆着一台电子书大小的龙芯笔记本&#xff0c;旁边的小条写着&#xff1a;请你体验龙芯电脑。惊讶之余&#xff0c;迫不及待地上前试用起来。白色外观&#xff0c;小巧轻薄&#xff0c;感觉不超过12寸。再看操作界面&#xff0c;跟XP已…

龙芯(Loongarch64),在Linux虚拟一个龙芯OS体验下

前言 想体验下龙芯OS&#xff0c;但是又没有龙芯开发板或者龙芯实体机。手头上只有一个X64环境的Linux发行版&#xff0c;应该怎么做呢&#xff1f; 概括 其实非常简单&#xff0c;可以通过Chroot命令和Qemu在X64的指令集系统上模拟龙芯OS&#xff0c;然后虚拟出一个龙芯的系统…

龙芯芯片CPU的产品路线说明

龙芯系列处理器芯片是龙芯中科技术有限公司研发的具有自主知识产权的处理器芯片&#xff0c;产品以32位和64位单核及多核CPU/SOC为主&#xff0c;主要面向国家安全、高端嵌入式、个人电脑、服务器和高性能机等应用。产品线包括龙芯1号小CPU、龙芯2号中CPU 和龙芯3 号大CPU三个系…