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 相关文章推荐
Python的pycurl包用法简介
Nov 13 Python
python和ruby,我选谁?
Sep 13 Python
python Pygame的具体使用讲解
Nov 03 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
Python从零开始创建区块链
Mar 06 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
python函数与方法的区别总结
Jun 23 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
解决Python对齐文本字符串问题
Aug 28 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
django 链接多个数据库 并使用原生sql实现
Mar 28 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
使javascript也能包含文件
2006/10/26 Javascript
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
jquery实现动态画圆
2014/12/04 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
babel基本使用详解
2017/02/17 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
SQL语言面试题
2013/08/27 面试题
动物科学专业毕业生的自我评价
2013/11/29 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
正规欠条模板
2015/07/03 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python