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

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. nginx介绍及常用功能
  2. Linux之grep命令
  3. codeforces 667B B. Coat of Anticubism(水题)
  4. [转]SQL语句资料
  5. [css] 请使用css3来模拟中/英文打字的效果
  6. python优先级排序_用Python实现优先级队列的3种方法
  7. 凸优化第六章逼近与拟合 6.3 正则化逼近
  8. 山海经异兽录找不到服务器,星辰山海经异兽录
  9. Proxy Design Pattern 代理设计模式
  10. oracle异地容灾备份 英文6,异地容灾备份的方案.doc
  11. sql字段转换字符串——CONVERT (VARCHAR(50),字段)
  12. 搜索-Query理解(全)
  13. CentOS下的服务器审计系统:script
  14. JavaScript高级程序设计[第3版]
  15. 什么是你的高光时刻?
  16. 【沃顿商学院学习笔记】领导力——Leadership:03培养你的目标 Cultivate Your Purpose
  17. 论文阅读:Preference-based evolutionary algorithm for airport surface operations
  18. 05-货币基金的秘密
  19. 银行放水的那些事---必须懂的经济常识
  20. 处理多类数据的时候,提供统一的接口的一种方式

热门文章

  1. 单链表反转2个数字单链表相加
  2. 摩根大通认为三支上市公司股票将受益于区块链技术
  3. HTML+CSS+JavaScript实现原神登录框
  4. Blender模型减面
  5. C4D克隆对象如何指向目标?目标效果器如何让对象指向目标?
  6. Java网络编程(一)网络的基本认知
  7. 用TabControl实现新浪微博客户端样式的面板
  8. 关于电子、通信专业学生、工程师学习方法分享
  9. Oracle的分组查询和筛选学习
  10. 浪潮VMware全闪存超融合,软硬一体打入关键系统