20行Python代码爬取LOL全英雄皮肤图片

 

一、前提说明
       笔者是借助 "20行Python代码爬取王者荣耀全英雄皮肤"博友文章代码,对LOL官网英雄皮肤爬取进行分析与代码修改形成的该博客。
20行Python代码爬取王者荣耀全英雄皮肤:https://blog.csdn.net/qq_42453117/article/details/103190981

二、LOL官网英雄图片资源分析

1.进入LOL官网滚动条滑至英雄资料

2.进入开发者工具(F12),进行如下图操作

故我们获取英雄皮肤的入口路径为:

url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js
同时我们在开发者工具的Preview栏有如下发现,实际上也是通过资源路径需要获取的一些属性与值

2.分析与获取具体英雄皮肤资料路径

如我们先进入黑暗之女详细页面,发现同一英雄不同皮肤其网站访问路径相同

均为:https://lol.qq.com/data/info-defail.shtml?id=1

当我们进入开发者工具后,发现了同一英雄下皮肤资源的差别,如下对比
该英雄所有皮肤资源路径:https://lol.qq.com/data/info-defail.shtml?id=1
黑暗之女-安妮皮肤资源路径:https://game.gtimg.cn/images/lol/act/img/skin/big1000.jpg
哥特玫瑰-安妮皮肤资源路径:https://game.gtimg.cn/images/lol/act/img/skin/big1001.jpg

接下来我们又进入狂战士详细页面同样发现,
该英雄所有皮肤资源路径为:https://lol.qq.com/data/info-defail.shtml?id=2
狂战士-奥拉夫皮肤资源路径:https://game.gtimg.cn/images/lol/act/img/skin/big2000.jpg
烈焰猛士-奥拉夫皮肤资源路径:https://game.gtimg.cn/images/lol/act/img/skin/big2001.jpg

对比安妮我们可以得到英雄皮肤路径资源规律

三、全代码奉上

请提前将lol文件夹创建,否则可能报错,同时也请博友根据实际情况更改下载图片存放路径

import os
import requests

url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'
herolist = requests.get(url)  # 获取英雄列表json文件

herolist_json = herolist.json()  # 转化为json格式
print(herolist_json)
heros=herolist_json['hero']
#print(heros)
hero_name = list(map(lambda x: x['title'], heros))  # 提取英雄的名字
print(hero_name)
hero_number = list(map(lambda x: x['heroId'], heros))  # 提取英雄的编号
print(hero_number)

# # 下载图片
def downloadPic():
    i = 0
    for j in hero_number:
        print("开始下载(%s)的图片"%(hero_name[i]))
        # 创建文件夹
        os.mkdir("F:/Python/WorkPlace/newProject1/lol/" + hero_name[i])
        # 进入创建好的文件夹
        os.chdir("F:/Python/WorkPlace/newProject1/lol/" + hero_name[i])
        i += 1
        for k in range(15):
            # 拼接url
            onehero_link = 'https://game.gtimg.cn/images/lol/act/img/skin/'+'big'+j+'00'+str(k)+'.jpg'
            im = requests.get(onehero_link)  # 请求url
            if im.status_code == 200:
                open(str(k) + '.jpg', 'wb').write(im.content)  # 写入文件

downloadPic()

四、下载图片展示

五、说明

由于笔者码该文时已经较晚,如有纰漏及不足处,读者可及时提出,共同修改,完善,写作不易,希望读者点赞、分享

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值