如何用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)

相关推荐

  • 高锰酸钾制取氧气化学式,高锰酸钾制取氧气怎么念

    技术高锰酸钾制取氧气化学式,高锰酸钾制取氧气怎么念高锰酸钾制取氧气化学方程式高锰酸钾制取氧气化学式:
    2KMnO4
    加热==K2MnO4+MnO2+O2↑
    高锰酸钾制取氧气步骤:
    1,装配实验装置(试管内的导管稍伸出胶塞

    生活 2021年10月26日
  • 怎样可以,和平精英怎么才能变厉害

    技术怎样可以,和平精英怎么才能变厉害大家好怎样可以!这里是爱分享的零助攻!很高兴回答您的问题!和平精英怎么样变厉害?可以说需要具备的条件太多了。第一:能力问题能力又分先天和后天,有的人天生就是玩游戏的好手,接受能力和适应

    生活 2021年10月21日
  • 如何使用Jmeter进行http接口测试

    技术如何使用Jmeter进行http接口测试这篇文章给大家介绍如何使用Jmeter进行http接口测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言:  主要针对http接口进行测试,使用Jme

    攻略 2021年11月29日
  • Stream流

    技术Stream流 Stream流package com.mayikt.stream;import com.mayikt.entity.UserEntity;import java.util.Array

    礼包 2021年11月24日
  • 学而时习之不亦说乎有朋自远方来,学而时习之不亦乐乎读音

    技术学而时习之不亦说乎有朋自远方来,学而时习之不亦乐乎读音“学而时习之学而时习之不亦说乎有朋自远方来,不亦说乎”的读音是什么?学而时习之,不亦说乎的读音:xué ér shí xí zhī,bú yì yuè hū。

    生活 2021年10月20日
  • Jupyter Notebook如何适应数据科学的发展方向

    技术Jupyter Notebook如何适应数据科学的发展方向本篇文章为大家展示了Jupyter Notebook如何适应数据科学的发展方向,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有

    攻略 2021年12月4日