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


Posted in Python onDecember 04, 2020

爬取结果:

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 相关文章推荐
Pytorch入门之mnist分类实例
Apr 14 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
python爬虫之遍历单个域名
Nov 20 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
Python unittest 自动识别并执行测试用例方式
Mar 09 Python
django rest framework serializers序列化实例
May 13 Python
什么是Python中的顺序表
Jun 02 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
详解NumPy中的线性关系与数据修剪压缩
May 25 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 #Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 #Python
Python爬虫中Selenium实现文件上传
Dec 04 #Python
利用python进行文件操作
Dec 04 #Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 #Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 #Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 #Python
You might like
PHP制作图型计数器的例子
2006/10/09 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
Jquery 绑定时间实现代码
2011/05/03 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
使用JavaScript破解web
2018/09/28 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
python pycharm的安装及其使用
2019/10/11 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
python能开发游戏吗
2020/06/11 Python
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
拉丁舞学习者的自我评价
2013/10/27 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
大学运动会通讯稿
2014/01/28 职场文书
离婚纠纷代理词
2015/05/23 职场文书