python爬取王者_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸+超强注释

news/2024/11/29 4:43:09/

[python]代码库import urllib.request

import re

# 获取主页源码

url = 'https://pvp.qq.com/web201605/herolist.shtml'

a = urllib.request.urlopen(url) # 访问网页

a = a.read() # 读取源码

a = a.decode('gbk') # 转码为gbk

# 获取英雄名称和ID

a = (re.compile('输入英雄不存在,请重新输入' + "(.*?)" + '英雄介绍', re.S).findall(a))[0] # 取主要源码

id = re.compile('

name = re.compile('height="91" alt="' + '(.*?)' + '">').findall(a) # 取名字

print('本次共抓取到' + str(len(id)) + '个英雄数据')

# 询问保存路径

r = True

while r:

f = input('请输入想要保存的路径:')

if f == '':

print('不能为空')

if f != '':

r = False

# i

i = 0

for i in range(0, len(id) + 1): # 对列表位置进行循环

print('正在下载' + name[i])

url1 = 'https://pvp.qq.com/web201605/herodetail/' + id[i] + '.shtml' # 英雄主页网址

url1 = ((urllib.request.urlopen(url1)).read()).decode('gbk') # 获取源码,并且转码为gbk

pf = re.compile('data-imgname="' + '(.*?)' + '">', re.S).findall(url1) # 取出皮肤名字

pf = pf[0]

"""删除沉余字符"""

pf = pf.replace('&', '', )

pf = pf.replace('0', '', )

pf = pf.replace('1', '', )

pf = pf.replace('2', '', )

pf = pf.replace('3', '', )

pf = pf.replace('4', '', )

pf = pf.replace('5', '', )

pf = pf.replace('6', '', )

pf = pf.replace('7', '', )

pf = pf.replace('8', '', )

pf = pf.replace('9', '', )

pf = pf.split('|')#文本分割

print(pf)

for i1 in range(0, len(pf)): # 对皮肤列表进行循环

print(name[i] + '-' + pf[i1])

url2 = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + id[i] + '/' + id[i] + '-bigskin-' + str(

i1 + 1) + '.jpg' # 皮肤下载地址

urllib.request.urlretrieve(url2, f + '/' + name[i] + '-' + pf[i1] + '.jpg') # 下载

201903221632.jpg


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

相关文章

WebView2 通过 PuppeteerSharp 实现爬取 王者 壁纸 (案例版)

王者壁纸自动化获取逻辑分析 其实它的逻辑很简单, 就是王者的官网,打开后,在右下角就看到了皮肤页面部分。 这个时候,点击更多,就会打开全部英雄详情的页面。 这个时候,单点任意一个英雄,就会…

python爬取王者_python 爬取王者荣耀高清壁纸

一、前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 预览一下桌面吧: 是不是看着这样的桌面也很带感,_ (学会这个技术,你可以爬取其他网站的类似图片,哄妹子专用&#xff…

王者壁纸批量爬取

语言:python json格式网站: 爬取网址:王者荣耀壁纸下载-王者荣耀官方网站-腾讯游戏 思路分析: 分析下一页,发现下一页之后是在当前页面的局部重新加载 当然排除可以直接爬取目标url获取当前页面的信息以及后面的所…

【Android】-- 如何对APP版本控制/更新?

目录 一、 前提准备 1、获取服务器 2、使用工具操作云服务器 二、Json格式网页 三、创建file_paths.xml及修改AndroidManifest.xml 四、在java代码加入更新检测代码 效果如图: 可以强制更新和非强制更新,和浏览器下载安装包。 一、 前提准备 1、获取…

Gin教程--路由与控制器设计(三)

一、路由设计 1.1 介绍 1.1.1 什么是路由 路由就是URL到函数的映射,确定数据交换和页面展现的目标。 1.1.2 什么是路由组 就是相同路由前缀的路由集合,例如/admin下可以有用户、设置等等。 1.2 请求方式 请求方式介绍备注GetGet请求,一般…

0001-TIPS-2020-hxp-kernel-rop : ret2user

目的 理解系统调用的过程:从用户态进入内核态,再从内核态返回用户态。细节见文末的参考了解一般性提权方法commit_creds(prepare_kernel_cred (0)); 环境搭建 下载 pwn 2020-kernel-rop wget https://2020.ctf.link/assets/files/kernel-rop-bf9c106…

非连续内存上执行计算操作,和连续内存上执行计算操作有什么效率上的区别?

在计算机内存中,数据可以存储在连续(contiguous)或非连续(non-contiguous)的内存区域。两者在执行计算操作时的效率上存在一定的区别。 连续内存上执行计算操作的优势: 缓存局部性:处理器缓存…

在Centos Stream 9上Docker的实操教程(六) - Docker Compose容器编排详解

在Centos Stream 9上Docker的实操教程 - Docker Compose容器编排详解 前言什么是Docker-Compose下载安装和卸载使用仓库安装手动安装卸载 docker compose常用命令项目实战构建SpringBoot项目编写Dockerfile文件编写Docker-Compose.yml文件 运行测试相关注意事项结语 前言 在了…