本篇推文共计3000个字,阅读时间约3分钟。

王者荣耀大家都玩过吧,没玩过的也应该听说过,作为当下最火的手机游戏,我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。

No.1

准备工作

爬取皮肤本身并不难,难点在于分析,我们首先要得到皮肤图片的url地址,我们先来到王者荣耀的官网:

图片来源:王者荣耀官网

点击游戏资料—>英雄资料,随机选取一个英雄,例如“嫦娥”。

图片来源:王者荣耀官网

进入英雄皮肤页面,再按F12打开调试台,找到英雄原皮肤的图片地址:

图片来源:王者荣耀官网

图片来源:王者荣耀官网皮肤调试台

截取的嫦娥皮肤地址链接为:

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/515/515-bigskin-3.jpg

接着,我们切换一下英雄的皮肤,会发现图片地址没有明显的变化,只是最后的数字序号改变了,我们根据上面同样操作,继续截取其它的嫦娥皮肤地址链接:

图片来源:王者荣耀官网皮肤调试台

截取的嫦娥皮肤地址链接为:

#嫦娥如梦令皮肤
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/515/515-bigskin-3.jpg#嫦娥露花倒影皮肤
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/515/515-bigskin-2.jpg#嫦娥寒月公主皮肤
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/515/515-bigskin-1.jpg

我们将同一个英雄三个皮肤图片的地址放在一起比较一下,对于同一个英雄的皮肤图片地址,仅仅是最后的数字序号不同,同一个英雄的皮肤图片路径从1开始依次递增。

图片来源:王者荣耀官网后羿英雄链接

图片来源:王者荣耀官网嫦娥英雄链接

紧接着分别点开“后羿”和“嫦娥”的英雄链接,对比网址链接,可以发现英雄的区别是后面网址链接的数字不同。

找到了不同英雄,以及同一英雄的不同皮肤的网址链接规律之后,我们就可以开始用代码实现功能了。

No.2

代码实现

首先我们创建一个Python文件,然后导入os和requests模块。

按照前面的步骤,我们首先需要获取到英雄列表信息,也就是herolist.json文件.

文件地址为:

https://pvp.qq.com/web201605/js/herolist.json

这在调试台中可以找到。

图片来源:王者荣耀官网英雄调试台

我们首先就要通过这个地址获取到英雄列表信息的json数据,然后解析json数据,将有用的信息提取出来:

url = 'https://pvp.qq.com/web201605/js/herolist.json'
herolist = requests.get(url) # 获取英雄列表json文件herolist_json = herolist.json() # 转化为json格式
hero_name = list(map(lambda x: x['cname'], herolist.json())) # 提取英雄的名字
hero_number = list(map(lambda x: x['ename'], herolist.json())) # 提取英雄的编号

拿到了英雄编号之后,事情就变得很简单了,只需拼接一下url地址即可:

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + hero_number + '/' + hero_number + '-bigskin-1.jpg

这样可以获取到所有英雄的皮肤图片了,但是这里会有一个问题,英雄的皮肤是有多有少的,有的英雄只有两个皮肤,有的却有六七个,所以图片编号的最大值我们并不清楚,这里我采用了一个比较笨的办法,就是让一个变量从1到10依次递增去拼接图片地址,如果遇到没有的图片我们就不处理,因为没有一个英雄的皮肤超过了10个,所以我们就能获取到所有的图片了。我们在桌面新建一个文件夹,命名为wzry,紧接着下面看代码实现:

# 下载图片
def downloadPic():i = 0for j in hero_number:# 创建文件夹os.mkdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])# 进入创建好的文件夹os.chdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])i += 1for k in range(10):# 拼接urlonehero_link = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(j) + '/' + str(j) + '-bigskin-' + str(k) + '.jpg'im = requests.get(onehero_link) # 请求urlif im.status_code == 200:open(str(k) + '.jpg', 'wb').write(im.content) # 写入文件

整个程序的完整代码如下:

import os
import requestsurl = 'https://pvp.qq.com/web201605/js/herolist.json'
herolist = requests.get(url) # 获取英雄列表json文件herolist_json = herolist.json() # 转化为json格式
hero_name = list(map(lambda x: x['cname'], herolist.json())) # 提取英雄的名字
hero_number = list(map(lambda x: x['ename'], herolist.json())) # 提取英雄的编号# 下载图片
def downloadPic():i = 0for j in hero_number:# 创建文件夹os.mkdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])# 进入创建好的文件夹os.chdir("C:\\Users\\Administrator\\Desktop\\wzry\\" + hero_name[i])i += 1for k in range(10):# 拼接urlonehero_link = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(j) + '/' + str(j) + '-bigskin-' + str(k) + '.jpg'im = requests.get(onehero_link) # 请求urlif im.status_code == 200:open(str(k) + '.jpg', 'wb').write(im.content) # 写入文件downloadPic()

我们运行代码:

图片来源:Pycharm

在程序运行的同时,我们可以发现桌面上wzry文件夹里面已经陆续有很多英雄皮肤下载好了,并且归好了类别。

图片来源:wzry文件夹

图片来源:wzry文件夹阿轲英雄皮肤

图片来源:wzry文件夹嫦娥英雄皮肤

图片来源:wzry文件夹后羿英雄皮肤

程序不仅截取了每个英雄的不同皮肤,而且每个英雄皮肤都是高清晰度的,小伙伴们可以用来当壁纸。

图片来源:wzry文件夹后羿嫦娥如梦令皮肤

No.3

结语

Python爬虫是非常有趣的,因为它可以非常直观的爬取数据,用起来也很简便直接,帮助人们生产工作。

最后,提醒大家,爬虫虽然强大,但千万不能随意爬取隐私信息。

往期回顾

疫情防控加速AI在医疗领域的发展及应用

不能见面的情人节,我体验了一次视频相亲

10天,看火神山医院是如何建成的

彩虹屁机器人,把想夸的人夸上天

武汉加油,中国加油!

欢迎各位读者在下方进行留言

☆ END ☆

你与世界

只差一个

公众号

喜欢本推文的话麻烦你点个“在看”或“分享至朋友圈”

教你用Python代码免费获取王者荣耀全英雄皮肤相关推荐

  1. python玩王者荣耀皮肤碎片怎么获得_教你用Python代码免费获取王者荣耀全英雄皮肤...

    本篇推文共计3000个字,阅读时间约3分钟. 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为当下最火的手机游戏, 我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即 ...

  2. 20行Python代码爬取王者荣耀全英雄皮肤改进版

    0 写在前面 看了大神的这篇CSDN:20行Python代码爬取王者荣耀全英雄皮肤访问量那么高,忍不住想要蹭一下热点,但是蹭归蹭,总得有点货才行,于是我品我细品,发现其代码总体有三点我觉得值得改进的地 ...

  3. [转载]20行Python代码爬取王者荣耀全英雄皮肤

    20行Python代码爬取王者荣耀全英雄皮肤,这是高手.原文链接: https://blog.csdn.net/qq_42453117/article/details/103190981 除了语言学习 ...

  4. 20行 Python 代码爬取王者荣耀全英雄皮肤 | 原力计划

    作者 | wangweijun 责编 | Elle 出品 | CSDN 博客 引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王 ...

  5. python爬取和平精英皮肤_20行Python代码爬取王者荣耀全英雄皮肤

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

  6. 如何运用python爬游戏皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...

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

  7. python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...

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

  8. 手把手教你使用Python网络爬虫获取王者荣耀英雄皮肤

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 欢度国庆,共度中秋. /1 前言/ ...

  9. 超简单的Python代码爬取王者荣耀全英雄皮肤—建议直接复制粘贴

    闲话不多叭叭,直接上代码: 咳咳,请让我再小声bb两句,文件夹那个地方还是要改成自己的文件夹滴,这样就是自己的啦 各位小伙伴还有什么不懂得地方可以留言给我吆,摸么么摸么么哒 import os imp ...

最新文章

  1. eeglab教程系列(15)-绘制独立成分ERP贡献
  2. [练习] 用PYTHON来优化网站中的图片
  3. 南阳5--Binary String Matching(Kmp)
  4. 远程用power shell 管理vmware view 池用户
  5. ssh-keygen实现免密码登陆
  6. ERROR in ./src/css/1.scss 1:2
  7. [C++] - C++11 多线程 - Thread
  8. Python检验某个字符(串)是否属于另一个字符串
  9. ai修复照片软件是哪个软件_智能照片修复
  10. Python常用模块库下载及安装
  11. android:AdapterView.OnItemClickListener
  12. 苹果退款_退货与退款 - 购买帮助 - Apple (中国大陆)
  13. 关键词排名查询-各大搜索引擎批量实时关键词排名查询
  14. 聊一个自己写的MVC框架
  15. The projects in the reactor contain a cyclic reference
  16. 硬盘坏了!!!!!!
  17. 夙愿:对数函数与指数函数的交点问题
  18. ICC学习——LAB1
  19. Axure制作菜单栏效果
  20. 关于C++ STL中的upper_bound()

热门文章

  1. IOS 之 螺旋仪与加速计, 磁力计
  2. 【阅读笔记】Suggestive Annotation: A Deep Active Learning Framework for Biomedical Image Segmentation...
  3. ASIC芯片的龙头fabless公司比特大陆究竟是做什么的?
  4. 如何看一个大型的项目代码
  5. MotionBuilder-bvh绑定(二)[7.31改动]
  6. HIVE厂牌艺人_说唱厂牌 Vol.2:洛杉矶天才厂牌Odd Future Records的开始到结束
  7. 【点宽专栏】后疫情时代,商业银行的数字化转型之路
  8. 黑马程序员 多线程
  9. Caused by: java.lang.ClassNotFoundException: freemarker.template.Configuration
  10. 小程序毕设作品之微信二手交易小程序毕业设计成品(4)开题报告