python 爬取英雄联盟皮肤并下载的示例

 更新时间:2020年12月04日 11:55:10   作者:python小二  
这篇文章主要介绍了python 爬取英雄联盟皮肤并下载的示例,帮助大家更好的理解和学习使用python 爬虫,感兴趣的朋友可以聊继续

爬取结果:

爬取代码

import os
import json
import requests
from tqdm import tqdm

def lol_spider():
  # 存放英雄信息
  heros = []
  # 存放英雄皮肤
  hero_skins = []
  # 获取所有英雄信息
  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)
  # 遍历列表
  for hero in heros:
    hero_id = hero['id']
    hero_name = hero['name']
    # 为每一个英雄创建一个以自己名字命名的文件夹,用来存放皮肤图片
    dir_name = skin_path + '\\{}'.format(hero_name)
    if not os.path.exists(dir_name):
      os.mkdir(dir_name)
    # 进入文件夹
    os.chdir(dir_name)
    # 根据每一个英雄的 id 生成皮肤信息的 url
    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)



if __name__ == '__main__':
  lol_spider()

以上就是python 爬取英雄联盟皮肤并下载的示例的详细内容,更多关于python 爬取英雄联盟皮肤的资料请关注脚本之家其它相关文章!

相关文章

  • Python虚拟环境venv实战过程详解

    Python虚拟环境venv实战过程详解

    Python的虚拟环境可以帮助我们在同一台机器上,同时使用不同的Python版本和库,方便管理和开发,下面这篇文章主要给大家介绍了关于Python虚拟环境venv的相关资料,需要的朋友可以参考下
    2023-06-06
  • python面向对象_详谈类的继承与方法的重载

    python面向对象_详谈类的继承与方法的重载

    下面小编就为大家带来一篇python面向对象_详谈类的继承与方法的重载。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Opencv常见图像格式Data Type及代码实例

    Opencv常见图像格式Data Type及代码实例

    这篇文章主要介绍了Opencv常见图像格式Data Type及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 通过pycharm使用git的步骤(图文详解)

    通过pycharm使用git的步骤(图文详解)

    这篇文章主要介绍了通过pycharm使用git的步骤(图文详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python Pillow库详细介绍与代码示例

    Python Pillow库详细介绍与代码示例

    Python Pillow 库是一个强大的图像处理工具,是经典 PIL(Python Imaging Library)库的现代分支,以下是对 Pillow 库的全面讲解和完整代码示例,需要的朋友可以参考下
    2025-04-04
  • 如何从Python的cmd中获得.py文件参数

    如何从Python的cmd中获得.py文件参数

    这篇文章主要介绍了如何从Python的cmd中获得.py文件参数操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python数据库封装实现代码示例解析

    Python数据库封装实现代码示例解析

    这篇文章主要介绍了Python数据库封装实现代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python实现的最近最少使用算法

    Python实现的最近最少使用算法

    这篇文章主要介绍了Python实现的最近最少使用算法,涉及节点、时间、流程控制等相关技巧,需要的朋友可以参考下
    2015-07-07
  • Python使用matplotlib绘制动画的方法

    Python使用matplotlib绘制动画的方法

    这篇文章主要介绍了Python使用matplotlib绘制动画的方法,涉及matplotlib模块的常见使用技巧,需要的朋友可以参考下
    2015-05-05
  • 动感网页相册 python编写简单文件夹内图片浏览工具

    动感网页相册 python编写简单文件夹内图片浏览工具

    这篇文章主要为大家详细介绍了动感网页相册的制作方法,即利用python编写简单文件夹内图片浏览工具,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论