如何用Python爬取英雄联盟,lol全部皮肤

技术如何用Python爬取英雄联盟,lol全部皮肤今天就跟大家聊聊有关如何用Python爬取英雄联盟(lol)全部皮肤,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获

今天就和大家聊聊如何用Python抓取英雄联盟(lol)的所有皮肤,可能很多人都不太懂。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

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

小二:“唉!别提了。我最近接触到一款游戏,叫做英雄联盟。游戏中很多皮肤需要用钱买,但是我没有足够的钱……”

小三:“怎么,攒够钱还要买?你吃过了吗?我想说,你干脆爬下英雄的彩皮好好享受,省下吃饭的钱。”

小二:“你说得对,毕竟吃饭更重要,我还是扒着皮享受吧。”

首先我们打开英雄联盟官网的首页,网站是:https://lol.qq.com/main.shtml,然后下拉看到英雄榜,如图:

如何用Python爬取英雄联盟(lol)全部皮肤

然后随意选择一个英雄,点击看一下,如图:

如何用Python爬取英雄联盟(lol)全部皮肤

再次点击鼠标右键,然后选择检查,查看皮肤的网址,如图:

如何用Python爬取英雄联盟(lol)全部皮肤

通过观察可以发现,英雄皮肤网址的组成是:https://game.gtimg.cn/images/lol/act/img/skin/big英雄id皮肤id.jpg。

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

如何用Python爬取英雄联盟(lol)全部皮肤

选择响应项查看相应的数据,如图所示:

如何用Python爬取英雄联盟(lol)全部皮肤

我们可以看到数据显示在一行,不方便看。让我们将其格式化并查看一下,如图所示:

如何用Python爬取英雄联盟(lol)全部皮肤

通过观察可以发现,获取指定英雄皮肤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 _ IDN bsp

;+ '.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的请求,如图所示:

如何用Python爬取英雄联盟(lol)全部皮肤

皮肤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,并将每一个英雄的idname放在了一个字典中,又将所有英雄对应的字典放在了列表中。

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

如何用Python爬取英雄联盟(lol)全部皮肤

看完上述内容,你们对如何用Python爬取英雄联盟(lol)全部皮肤有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/49730.html

(0)

相关推荐

  • 怎么学会可视化操作数据库

    技术怎么学会可视化操作数据库怎么学会可视化操作数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我刚开始弄android数据库的时候,想查询一些数据,以验

    攻略 2021年12月1日
  • DIV+CSS网页内容显示不完整诊断是这样的

    技术DIV+CSS网页内容显示不完整诊断是这样的DIV+CSS网页内容显示不完整诊断是这样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。本文和大家重点

    攻略 2021年11月11日
  • 染发剂什么牌子最好,用什么牌子的染发剂最安全方便

    技术染发剂什么牌子最好,用什么牌子的染发剂最安全方便很多妹子都喜欢经常换各种各样的发色染发剂什么牌子最好,我舍友就是这样一个经常折腾的妹子,在她的带动下我也染过几次,她用过的染发剂真的是比我见过的都多。不过我专门去了解了

    生活 2021年10月22日
  • 华为手机什么型号好,现在买华为的哪个手机好

    技术华为手机什么型号好,现在买华为的哪个手机好别买HUAWEI容易撞机 会议全是华为 如果你硬要买的话 我推荐 华为p10华为p10屏幕尺寸5.1刚刚适合 用习惯i

    生活 2021年10月28日
  • jmeter使用方法(jmeter基本使用教程)

    技术jmeter基本使用方法是什么这篇文章主要介绍“jmeter基本使用方法是什么”,在日常操作中,相信很多人在jmeter基本使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月18日
  • 全网最新的Log4j漏洞修复和临时补救方法是什么?

    技术全网最新Log4j 漏洞修复和临时补救方法是什么这篇文章给大家介绍全网最新Log4j 漏洞修复和临时补救方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 漏洞评级及影响版本Apach

    攻略 2021年12月15日