小三:“怎么了小二?一副无精打采的样子!”

小二:“唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀...”

小三:“咋得,钱攒够了你还要买呀?还吃不吃饭了?!要我说,你干脆将英雄的炫彩皮肤都爬下来欣赏一下得了,饭钱还给你省下了。”

小二:“你说的也对,毕竟吃饭更重要,那我还是爬取皮肤欣赏一下算了。”

首先,我们打开英雄联盟官网主页,网址为:https://lol.qq.com/main.shtml,然后向下拉,可以看到英雄列表,如图所示:

接着随意选一个英雄点击进入看一下,如图所示:

再点击鼠标右键,接着选择检查,看一下皮肤的 URL,如图所示:

通过观察,可以发现英雄皮肤 URL 组成方式为:https://game.gtimg.cn/images/lol/act/img/skin/big + 英雄id + 皮肤id.jpg。

我们先看皮肤id,也就是看皮肤的个数,选择开发者工具的Network项,之后刷新一下页面,可以发现有一个17.js的请求,17实际就是英雄id,如图所示:

再选择Response项看一下相应数据,如图所示:

我们可以看到数据都显示在了一行,看着不太方便,我们将其格式化看一下,如图所示:

通过观察,可以发现获取指定英雄皮肤id的 URL 就是:https://game.gtimg.cn/images/lol/act/img/js/hero/ + 英雄id.js,获取皮肤id及下载皮肤图片的代码实现如下:hero_skin_url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/' + hero_id + '.js'

# 通过 url 获取英雄的皮肤数量

skin_text = requests.get(hero_skin_url).text

skin_json = json.loads(skin_text)

skin_list = skin_json['skins']

# 获取皮肤名

hero_skins.clear()

for skin in skin_list:

hero_skins.append(skin['name'].replace('/', '').replace('\\', '').replace(' ', ''))

# 皮肤数量

skins_num = len(hero_skins)

s = ''

for i in tqdm(range(skins_num), desc='【' + hero_name + '】皮肤下载'):

if len(str(i)) == 1:

s = '00' + str(i)

elif len(str(i)) == 2:

s = '0' + str(i)

elif len(str(i)) == 3:

pass

try:

# 拼接指定皮肤的 url

skin_url = 'https://game.gtimg.cn/images/lol/act/img/skin/big' + hero_id + '' + s + '.jpg'

img = requests.get(skin_url)

except:

# 没有炫彩皮肤 url 则跳过

continue

# 保存皮肤图片

if img.status_code == 200:

with open(hero_skins[i] + '.jpg', 'wb') as f:

f.write(img.content)

现在就差英雄id参数的获取了,我们接着看如何获取全部的英雄id,返回到 https://lol.qq.com/main.shtml页面,打开开发者工具并选择Network,然后刷新页面,我们可以观察到有一个hero_list.js的请求,如图所示:

与皮肤id的获取基本类似,通过这个请求就可以获取到英雄的全部英雄id,代码实现如下:url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'

hero_text = requests.get(url).text

# 转为 json 格式

hero_json = json.loads(hero_text)['hero']

path = os.getcwd()

# 获取当前文件夹路径

workspace = os.getcwd()

# 皮肤路径

skin_path = "{}\\{}".format(workspace, 'skins')

# 遍历列表

for hero in hero_json:

# 将每一个英雄的 id、name 放入一个字典中

hero_dict = {'id': hero['heroId'], 'name': hero['name']}

# 放入列表

heros.append(hero_dict)

我们可以看出:代码中除了英雄id,还获取了英雄name,并将每一个英雄的id、name放在了一个字典中,又将所有英雄对应的字典放在了列表中。

最后,我们看一下下载效果:

源码在公众号 Python小二 后台回复 201130 获取。

python爬取英雄联盟所有皮肤价格表_用Python爬取英雄联盟(lol)全部皮肤相关推荐

  1. python爬取英雄联盟所有皮肤价格表_实用Python是如何爬取英雄联盟(lol)所有皮肤,涨知识了...

    小三:"怎么了小二?一副无精打彩的样子!"html 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中不少皮肤都须要花钱买,可是我钱不够呀..." ...

  2. python爬取英雄联盟所有皮肤价格表_实用Python是如何爬取英雄联盟(lol)全部皮肤,涨知识了...

    小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...

  3. python爬取英雄联盟所有皮肤价格表_利用Python协程来爬取LOL所有英雄的皮肤高清图片...

    最近有一朋友要LOL的数据进行数据分析,叫我帮他抓一下数据.突发奇想,顺便把英雄的所有皮肤下载到本地好了. PS: 安装了LOL的伙伴图片直接在LOL文件夹里面,可以百度寻找.此贴仅分享下技术思路以及 ...

  4. python爬取网易云音乐歌单_【python】爬取并批量下载网易云歌单,嗨翻暑假!

    [Python] 纯文本查看 复制代码# 利用 Selenium 抓取淘宝商品并用 PyQuery 解析得到商品的图片.名称.价格.购买人数. # 店铺名称.店铺所在地信息,并将其保存到MongoDB ...

  5. python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计

    互联网中包含大量有价值的 数据,网络爬虫通过既定规则可 以自动地抓取互联网数据并下载 至本地存储.研究网络爬虫的工 作原理和基于 Python 网络信息爬 取技术模块功能,基于 Requests- B ...

  6. 树莓派python编程入门与实战解压密码_树莓派Python编程入门与实战

    目录 第一部分 树莓派编程环境 第1章 配置树莓派 3 1.1 获取树莓派 3 1.1.1 了解树莓派的历史 3 1.1.2 为什么要学习用Python 在树莓派上进行编程 4 1.2 获取树莓派 5 ...

  7. python语言的单行注释以井号开头_初识Python

    Python Python开发 Python语言 初识Python 初识Python 计算机基础 计算机的组成: 输入输出设备.存储器.主板.CPU.硬盘.内存.显示器.电源.显卡. CPU:中央处理 ...

  8. python是什么学了有什么用处_学python有什么用途 就业方向有哪些

    学习完python以后有很多用途,比如可以做Web开发.网络爬虫.数据分析.服务器运维.python自动化测试等工作,就业方向很多,就业前景也非常好. 学完python的就业方向 1.Web开发,我们 ...

  9. python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...

    [判断题]Python内置函数len____可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. [判断题]Python内置函数max____用来返回序列中的最大元素. [判断题]Py ...

最新文章

  1. 我们正处于新科学革命的起点 | 学界热议AI for Science
  2. 求两个数的最大公约数的3种办法
  3. Java软件项目开发命名规范_命名规则
  4. python随机产生100个整数二进制_PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。...
  5. ssh端口转发(之kettle ssh方式连接数据库)
  6. easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  7. python玩转android_怎样用python玩安卓版跳一跳
  8. 什么是3D打印?游戏建模具体怎么做?哪个更有发展
  9. SnagIt 9-12 注册码
  10. 阿拉伯数字转中国人民币大写字符串
  11. (2011-12-11 旧博文搬运)闪耀十字军(ティンクル☆くるせいだーす)【1】
  12. flink 滚动窗口、滑动窗口、会话窗口、全局窗口
  13. FileZilla Client下载安装
  14. 千万别小看一个面相好的女人!
  15. 前端原生下载excel表格
  16. 空字符串、NULL、空格串的区别
  17. 手游神武2最新服务器,神武2手游新服开启公告 安卓IOS新服开启
  18. 【附源码】计算机毕业设计SSM校园二手物品交易网站
  19. Qt 中使用 VLC-Qt 播放网络视频流(附实例)
  20. mysql查询关键字_MySQL查询关键词

热门文章

  1. 微信备注改不了是怎么回事
  2. 公链还能这样玩?二次元、出圈与社区自治
  3. R语言计算生理发育时间、有效积温
  4. identityserver4 Authorize 传参
  5. Mosquitto connect连接失败
  6. Tanh函数代码实现
  7. python 终端输出高亮文字
  8. Greenplum命令整理(二)数据库操作
  9. 企业级用户画像:基于USG模型使用决策树开发用户购物性别
  10. numpy中的array,arange和range