分析过程我就不展示了,直接看代码

import urllib.request as req
import os
import re
import time
import urllib.error as error
import json# 英雄了解界面的url
main_url = "https://pvp.qq.com/web201605/herodetail/"
# 创建存放图片的目录
gen_dir = "王者荣耀全高清图"
if not os.path.exists(gen_dir):os.mkdir(gen_dir)# 创建一个获取响应的函数
def response(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)"" AppleWebKit/537.36 (KHTML, like Gecko)"" Chrome/76.0.3809.100 Safari/537.36",}request = req.Request(url=url, headers=headers)res = req.urlopen(request).read()return resdef get_image(res):# 提取每个英雄背景图的正则表达式zz = re.compile('background:url\(\'(.*?)-1.jpg\'\)', re.S)ret_url = zz.findall(res)  # 获取到每个英雄详细界面中背景图的url# 提取每个英雄的称谓的正则表达式zz2 = re.compile('<h3 class="cover-title">(.*?)</h3>', re.S)ret_cw = zz2.findall(res)# 提取每个英雄姓名的正则表达式zz3 = re.compile(r"<label>(.*?)</label>")ret_name = zz3.findall(res)final_name = ret_cw[0] + '-' + ret_name[0]print(f"{final_name}的皮肤正在下载。。。。。")for k in ret_url:for x in range(1, 8 + 1):  # 获取英雄图片的皮肤urlx = str(x)image_url = 'https:' + k + f"-{x}.jpg"try:file_dir = gen_dir + '\\' + final_name  # 每个英雄所在目录名字file_name = image_url.split("/")[-1]  # 英雄每个皮肤的文件名if not os.path.exists(file_dir):os.mkdir(file_dir)file_path = file_dir + '\\' + file_name  # 保存的文件路径if not os.path.exists(file_path):   # 判断文件是否已经存在,防止重复下载req.urlretrieve(image_url, file_path)else:continueexcept error.HTTPError:  # 当访问错误时说明已经下载完成,则跳出循环print(f"{final_name}的皮肤已全部下载完成!!!")# time.sleep(2)  # 缓冲两秒,防止下载卡顿break# 英雄从105.shtml到524.shtml,其中部分数字不存在
for j in range(105, 524 + 1):url = main_url + str(j) + ".shtml"  # 构建英雄详细页面的urltry:if j == 524:        # 判断是否到最后一个英雄res = response(url).decode('gbk')get_image(str(res))print("王者荣耀皮肤已全部下载完毕!!!")else:res = response(url).decode('gbk')get_image(str(res))except error.HTTPError:continue

这是效果图

先声明下:
本人是自学python一周余的大一萌新,并非大佬,所以很多东西都是半懂,但代码全独立完成
你要问我为何开始自学python,这要从一只蝙蝠说起,,,
这是我写的第一篇博客,是分享,更是纪录我的成长历程。

尝试用正则表达式爬取王者荣耀皮肤原图相关推荐

  1. 简单几行代码带你爬取王者荣耀皮肤

    爬取王者荣耀皮肤 分析思路 源代码 爬取王者荣耀皮肤 分析思路 url:https://pvp.qq.com/web201605/js/herolist.json url还是很容易拼接的 源代码 im ...

  2. python爬取王者荣耀皮肤高清图

    python爬取王者荣耀皮肤高清图 前期准备,导入模块 requests json os 进入王者荣耀官网,进入游戏壁纸页面,f12进入开发者模式,按照下图找到这个json文件,用于对图片的数据请求. ...

  3. scrapy爬取王者荣耀皮肤

    Scrapy爬取王者荣耀皮肤 一.项目需求 爬取王者荣耀官网(https://pvp.qq.com/)所有皮肤图片 要求: 英雄名作为文件夹名 皮肤名作为图片名称 皮肤图片按所属英雄存入对应的文件夹 ...

  4. Python爬取王者荣耀皮肤

    引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...

  5. 如何运用python爬游戏皮肤_Python爬虫实战之 爬取王者荣耀皮肤

    王者荣耀是目前非常火的一款游戏,相信大家都对其中的人物很感兴趣,那么今天就带大家来爬取王者荣耀的皮肤,可以选一款喜欢的来当电脑壁纸.第一步,拿到url地址 第二步,获取各个人物皮肤数据 第三步,保存文 ...

  6. 利用python爬取王者荣耀皮肤壁纸

    作为python新手上路的小白,今天我来给大家安利一个爬取王者荣耀官方网站皮肤壁纸的项目,请大家多多关照! 一.登陆官网 首先我们登录王者荣耀官网,在菜单栏点击进入皮肤壁纸高清图可以看到以下画面: 通 ...

  7. 多线程爬取王者荣耀皮肤壁纸

    今天写了个小demo,多线程爬取王者荣耀全皮肤,话不多说,直入主题. https://pvp.qq.com/web201605/herolist.shtml这个是玩王者荣耀官网上的英雄列表,这个时候一 ...

  8. Python爬虫实战之 爬取王者荣耀皮肤

    王者荣耀是目前非常火的一款游戏,相信大家都对其中的人物很感兴趣,那么今天就带大家来爬取王者荣耀的皮肤,可以选一款喜欢的来当电脑壁纸

  9. 爬取王者荣耀皮肤-点券领取

    1.首先我们要找到所有英雄列表 百度"王者荣耀"进入官网,进入https://pvp.qq.com/,按F12进入调试界面,然后按F5刷新界面,图中标识的herolist.json ...

最新文章

  1. 一切成功均源于长期的积累(转)
  2. KinectFusion简介
  3. 人类快感程度体验等级
  4. openpyxl写入一行数据_老板让我从几百个Excel中查找数据,我用Python一分钟搞定!...
  5. 【读书笔记《Bootstrap 实战》】2.作品展示站点
  6. 61-1 认识webpack
  7. 图片还原去遮挡_斗罗:这届coser太强,动画刚播出两天,战损三哥就被还原了...
  8. (34)Gulp 构建HTML页面文件
  9. html垂直线6,HTML的垂直线
  10. 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
  11. css标签权重计算知识详解
  12. 上海航芯 | 智能网联汽车终端T-BOX应用方案
  13. IDEA 配置log4j
  14. DNS服务器安装(linux)
  15. 免费专利查询和专利下载网站分享
  16. 读取任意编码的文件(转)
  17. 计算机限制无线网络,无线网络连接受限制怎么办 无线网络连接受限解决方法【图文】...
  18. 使用excel进行数据挖掘(4)---- 突出显示异常值
  19. Python图像增强(翻转和旋转)
  20. linux 查看gz文件,【shell 脚本】查看*.gz 文件的内容

热门文章

  1. 第11章常用类库学习总结
  2. 最新.NET反编译软件Red Gate .NET Reflector V10.1.3.1218
  3. xml格式的label转换为yolo-darknet版的label
  4. ramdisk内存虚拟硬盘 软件评测
  5. ctf php168,【2018年 网鼎杯CTF 第一场】教育组 WP — Lilac
  6. vscode 设置指定的字符串换行
  7. 综述:文本分析在市场营销研究中的应用
  8. 从MDF文件恢复SqlServer2000数据库
  9. 手机版wps怎么竖版_wps怎么做竖版ppt wps如何制作ppt
  10. Vue.js:vue指令(给标签属性赋Vue变量v-bind,绑定事件 v-on)vue事件处理函数中, 拿到事件对象,6个事件修饰符