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爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
python使用PyGame播放Midi和Mp3文件的方法
Apr 24 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
基于python实现操作redis及消息队列
Aug 27 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 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
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
Javascript计算时间差的函数分享
2011/07/04 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
实例浅析js的this
2016/12/11 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
详解python eval函数的妙用
2017/11/16 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python微信撤回监测代码
2019/04/29 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
国贸专业个人求职信分享
2013/12/04 职场文书
数学检讨书1000字
2014/02/24 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
诉前财产保全担保书
2014/05/20 职场文书
优质服务口号
2014/06/11 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
消费者投诉书范文
2015/07/02 职场文书
运动会800米赞词
2015/07/22 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书