Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤

爬取王者荣耀英雄资料数据 https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/505/505-bigskin-4.jpg ---(大)https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/504/504-bigskin-1.jpg--直接修改。4.通过对地址的分析观察 发现只需要替换英雄的id即可下载对应的英雄的皮肤图片。3.由于在英雄列表页是观察不到英雄的皮肤数据 所以需要进入英雄的详情页去观察。 阅读详情

今天带大家爬取王者荣耀全套皮肤,废话不多说,直接开始~ (文末有福利哦)

开发工具

Python版本: 3.6.4

相关模块:requests模块;urllib模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

思路分析

1、打开官方王者荣耀壁纸网站

网站地址:https://pvp.qq.com/web201605/wallpaper.shtml

2、快捷键F12,调出控制台进行抓包

在这里插入图片描述

3、找到正确的链接并分析

在这里插入图片描述

4、查看返回数据格式

在这里插入图片描述
在这里插入图片描述

5、解析url链接

在这里插入图片描述

6、查看url内容是否是所需图片,发现其实是缩略图

在这里插入图片描述

7、那就去分析网站,随便点开一张壁纸,查看指定格式的链接

在这里插入图片描述

8、找到目标地址

在这里插入图片描述

9、分析目标链接和缩略图的链接区别

可以知道,将指定格式的缩略图地址后面200替换成0就是目标真实图片

代码实现

import os, time, requests, json, re
from retrying import retry
from urllib import parse
 
class HonorOfKings:
    '''
     This is a main Class, the file contains all documents.
     One document contains paragraphs that have several sentences
     It loads the original file and converts the original file to new content
     Then the new content will be saved by this class
    '''
    def __init__(self, save_path='./heros'):
        self.save_path = save_path
        self.time = str(time.time()).split('.')
        self.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&iSortNumClose=1&iAMSActivityId=51991&_everyRead=true&iTypeId=2&iFlowId=267733&iActId=2735&iModuleId=2735&_=%s' % self.time[0]
 
    def hello(self):
        '''
        This is a welcome speech
        :return: self
        '''
        print("*" * 50)
        print(' ' * 18 + '王者荣耀壁纸下载')
        print(' ' * 5 + '作者: Felix  Date: 2020-05-20 13:14')
        print("*" * 50)
        return self
 
    def run(self):
        '''
        The program entry
        '''
        print('↓' * 20 + ' 格式选择: ' + '↓' * 20)
        print('1.缩略图 2.1024x768 3.1280x720 4.1280x1024 5.1440x900 6.1920x1080 7.1920x1200 8.1920x1440')
        size = input('请输入您想下载的格式序号,默认6:')
        size = size if size and int(size) in [1,2,3,4,5,6,7,8] else 6
 
        print('---下载开始...')
        page = 0
        offset = 0
        total_response = self.request(self.url.format(page)).text
        total_res = json.loads(total_response)
        total_page = --int(total_res['iTotalPages'])
        print('---总共 {} 页...' . format(total_page))
        while True:
            if offset > total_page:
                break
            url = self.url.format(offset)
            response = self.request(url).text
            result = json.loads(response)
            now = 0
            for item in result["List"]:
                now += 1
                hero_name = parse.unquote(item['sProdName']).split('-')[0]
                hero_name = re.sub(r'[【】:.<>|·@#$%^&() ]', '', hero_name)
                print('---正在下载第 {} 页 {} 英雄 进度{}/{}...' . format(offset, hero_name, now, len(result["List"])))
                hero_url = parse.unquote(item['sProdImgNo_{}'.format(str(size))])
                save_path = self.save_path + '/' + hero_name
                save_name = save_path + '/' + hero_url.split('/')[-2]
                if not os.path.exists(save_path):
                    os.makedirs(save_path)
                if not os.path.exists(save_name):
                    with open(save_name, 'wb') as f:
                        response_content = self.request(hero_url.replace("/200", "/0")).content
                        f.write(response_content)
            offset += 1
        print('---下载完成...')
 
    @retry(stop_max_attempt_number=3)
    def request(self, url):
        '''
        Send a request
        :param url: the url of request
        :param timeout: the time of request
        :return: the result of request
        '''
        response = requests.get(url, timeout=10)
        assert response.status_code == 200
        return response
 
if __name__ == "__main__":
    HonorOfKings().hello().run()

完整源代码已经打包好了,需要的朋友可以扫描下方二维码免费获取

运行结果

在这里插入图片描述

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至优快云官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

Python爬虫——王者荣耀全皮肤拉取 文章目录Python爬虫——王者荣耀全皮肤拉取资源地址HeroScrapy.py运行上面的代码即可注意点 Python爬虫——王者荣耀全皮肤拉取 开门见山,话不多说 资源地址 英雄信息列表:http://pvp.qq.com/web201605/js/herolist.json 皮肤前缀地址:http://game.gtimg.cn/images/yxzj/img201606/skin/her... 阅读详情

相关推荐

python对英雄皮肤进行图片采集~

嗨喽~大家好呀,这里是魔王呐。

python56123的博客 1万+

python爬取王者荣耀所有皮肤

这是通过xpath爬取王者荣耀所有英雄的皮肤

weixin_44402079的博客 423

Python爬取王者荣耀英雄的皮肤数据并下载皮肤图片项目

Python爬取王者荣耀英雄的皮肤数据 网址:https://pvp.qq.com/web201605/herolist.shtml 1.获得英雄信息,并保存为json文件 1.1 使用requests爬取信息,requests模块爬取的是Network/Response下的静态数据。 首先获取网页的数据(有如下1.1和1.2两种方式),在此之前先了解xpath的使用:xpath是使用节点路径表达式来选取XML或HTML文档中的节点或节点集。常见的路径表达式如下 路径表达式 含义 / 从根节

weixin_44035930的博客 1997

Python通过requests模块实现抓取王者荣耀全套皮肤

目录开发工具环境搭建思路分析代码实现前言今天带大家爬取王者荣耀全套皮肤,废话不多说,直接开始~开发工具Python版本:3.6.4相关模块:requests模块;urllib模块;以及一些Pytho… 目录 开发工具 环境搭建 思路分析 代码实现 前言 今天带大家爬取王者荣耀全套皮肤,废话不多说,直接开始~ 开发工具 python版本:3.6.4 相关模块: requests模块; urllib模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安

m0_59235945的博客 1194

【Python项目】——爬取王者荣耀皮肤

原作者:尚学堂 李老师学习视频来源:bilibili——王者荣耀皮肤爬取注:仅供自学者学习交流使用,侵权联系必删。

weixin_51658186的博客 2万+

Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片,并 json 形式保存英雄列表信息到本地

Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片,并 json 形式保存英雄列表信息到本地 目录 Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片,并 json 形式保存英雄列表信息到本地 一、简单介绍 二、知识点 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Python是一种跨平台的计算机程序设计语言。是一种面向对象...

仙魁XAN 1万+

python爬虫实践之爬取王者荣耀皮肤

详细代码如下,具体的就不想分析了,代码中有注释。 import re import time import urllib.parse import requests # 爬虫实战:爬取王者荣耀皮肤 # 第1页的URL:https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activity...

二木成林 2973

从零开始:小鼠Bulk RNA-seq全流程实战指南

本文提供了一份详尽的小鼠Bulk RNA-seq全流程实战指南,涵盖从软件环境搭建、原始数据质控与清洗、序列比对、基因定量到下游差异表达分析与功能富集。内容面向生物信息学新手,通过清晰的代码示例和步骤解析,帮助读者系统掌握Bulk RNA-seq数据分析的核心技能,并产出可靠的生物学洞见。

lake5的博客 715

Python王者荣耀皮肤批量下载

Python使用requests批量下载王者荣耀皮肤

kevin_9305的博客 2370

transformer优化(一)-UNeXt 学习笔记

​它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。 ​

PLANTTHESON的博客 2033

JS逆向-快手__NS_hxfalcon参数分析

现在快手H5接口都需要__NS_hxfalcon这个参数,这篇文章就是逆向这个参数

ckcookies的博客 4075

Python爬虫项目:下载王者荣耀官网所有皮肤并对名称(以后更新的也可以)

分为两步: 1.找到皮肤图片的地址 函数只需要传入英雄编号即可返回 {皮肤名称:链接地址} 形式 def Downloed_ksin(ename, **kwargs): # 英雄详情页 url = 'https://pvp.qq.com/web201605/herodetail/' + ename + '.shtml' html = session.get(url=u...

QQ_1993445592的博客 4769

JESD204B系统设计实战:如何用SYSREF信号搞定多设备时钟同步(附时序图详解)

本文深入探讨了JESD204B系统中SYSREF信号在多设备时钟同步中的关键作用与实现技巧。通过详细分析SYSREF信号的生成、PCB布局和时序调整,提供了一套完整的解决方案,帮助工程师解决高速数据转换器与FPGA协同工作中的时钟同步问题。文章还包含时序图详解和实测调试技巧,助力提升系统性能。

weixin_29313239的博客 456

Python爬虫基础--爬取王者荣耀英雄皮肤图片

因为我们可以很简单就从官网获取英雄列表的json数据,所以这里的主要工作是解析json,然后拼接对应的英雄的皮肤的URL,最后进行下载。

荷塘月色 5277

高通410随身WiFi刷OpenWRT与Debian双系统一键集成方案

本文详细介绍高通410随身WiFi设备刷入OpenWRT与Debian双系统的一键集成方案。通过虎王工作室提供的一键刷机包,用户可轻松实现双系统部署,兼顾OpenWRT的网络功能与Debian的完整应用服务,适用于网络加速、服务器部署等多种场景,并提供了硬件资源分配与系统切换的实用指南。

docker7nomad的博客 1138

一文读懂AUTOSAR CAN通信

在AUTOSAR的分层和模块化架构中,使用PduR(Protocal Data Unit Router)将总线或者网络数据进行抽象,使得上层应用不用关心信号的来源。本文从PduR下层的CAN Interface、CAN Driver和CAN Transceiver Driver模块介绍CAN总线在AUTOSAR架构中的工作机制以及信号的收发等功能。PduR以及COM等上层模块的介绍可以参考公众号内发布的历史文章。

酒无忧的博客 2494

【爬虫】50 行代码爬取王者荣耀 98 个英雄所有皮肤

思路 1. 分析目标网页,确定爬取的 url 路径2. 发送请求 requests 模拟浏览器发送请求,获取响应数据3. 解析数据4. 保存数据 使用谷歌浏览器 打开王者荣耀官网 找到英雄资料 调出检查工具 ...

菜鸟成长日记 2395

【教程4>第10章>第13节】基于FPGA的图像双边滤波开发——单通道双边滤波Verilog实现

本文介绍了基于Vivado 2022.2的单通道高斯滤波FPGA实现方案。主要内容包括:1)采用3×3窗口像素提取、高斯权值计算、exp指数运算等模块构建双边滤波系统;2)详细分析了Verilog HDL实现的顶层设计文件,包含窗口数据生成、指数计算、混合权重、归一化处理等关键模块;3)展示了图像双边滤波器的RTL结构图。该设计为后续实现RGB三通道图像高斯滤波及MATLAB联合仿真奠定了基础。

FPGA/MATLAB学习教程/源码/项目合作开发 262

python爬虫 requests+json 爬取王者荣耀英雄皮肤脚本

先上成果图 模块安装: requests: pip install requests json:json好像不是第三方库,如果没有pip install json应该也能安装 pycharm用户可以忽略上面两行 上脚本 # 课题:爬取王者荣耀全英雄皮肤图片 # requests # json # 爬虫的一般思路 # 1、确定爬取的url路径,headers参数 # 2、发送请求 -- requ...

tothemoon的博客 1154

对称式目镜设计实例

对称式目镜设计实例

weixin_72050316的博客 1163

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

20行Python代码爬取王者荣耀全皮肤

20行代码爬取王者荣耀全皮肤寻找接口爬取皮肤图片话不多说,直接上源码~ 最近南方的天气有点上头,工作(摸鱼)都开始觉得无聊了,打开手机跟朋友来一把TiMi,什么?队友居然都是v8和各种传说皮肤,这我能忍吗?别人有的,我也要有!!! 于是我就默默打开了王者荣耀官网~ 寻找接口 想要开始爬虫,第一步当然是寻找数据的接口啦~ 我们打开英雄资料页面,发现王者荣耀所有的英雄都在这里了,我们发现数据在源码里,我信誓旦旦的直接怼这个url,然后发现0.0,只有93个英雄,沉迷王者荣耀的我一眼就看出来了,王者荣耀一共有10

huaolong的博客 2002

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

手把手教你使用python获取王者荣耀英雄及皮肤高清图片

利用requests库和os库,大概30行代码,就能把页面上的图片给爬取下来! 打开百度搜索“王者荣耀”进入官网:https://pvp.qq.com/,按F12进入调试界面,然后按F5刷新界面,图中标识的herolist.json文件就是我们所需要的英雄列表,其中包括英雄编号、英雄名称、英雄类型、皮肤的名称等信息,在文件上右击复制链接http://pvp.qq.com/web201605/js/...

君子慎独,不欺暗室;卑以自牧,不欺于心 3万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

爬取王者荣耀网站所有英雄皮肤图片

访问王者荣耀官方网站 使用chrome进行检查 找到网站发送的herolist.json文件,该文件描述的是英雄皮肤图片的配置情况,下载。经过分析图片的源地址, 写出以下程序进行图片的批量下载(事先要在脚本的同级目录中创建pic文件夹) import json import requests file = 'herolist.json' with open(file, 'r',...

z1314520cz 6223
上一篇: 在家靠python爬虫兼职月入3w+:成年人的世界,钱是底气!
下一篇: 高效的Python爬虫框架有哪些?
田野猫咪
博客等级 码龄4年 5080粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值