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元组操作实例解析
Sep 23 Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 Python
Python列表和元组的定义与使用操作示例
Jul 26 Python
Python判断两个list是否是父子集关系的实例
May 04 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
Python中将两个或多个list合成一个list的方法小结
May 12 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
Python如何telnet到网络设备
Feb 18 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扩展模块memcached长连接使用方法分析
2014/12/24 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
javascript操作数组详解
2014/12/17 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Django后台admin的使用详解
2019/07/08 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
浅析Python的命名空间与作用域
2020/11/25 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
办公室主任竞聘演讲稿
2014/05/15 职场文书
会计试用期自我评价
2014/09/19 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
个性发展自我评价2015
2015/03/09 职场文书
医院见习总结
2015/06/24 职场文书
Python代码实现双链表
2022/05/25 Python