执行脚本前需要做的操作

  • 需要具备 python 的环境
    具体安装这里不做赘述
  • 判断是否安装 requests 包
    win+R 输入 cmd 打开命令提示符,输入 pip show requests, 如下则表示已具备 requests 包
  • 若未安装 requests
    未安装 requests 使用 pip 工具进行安装 pip install requests
    安装完成后开始写代码
import requests
import osdef get(link):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}response = requests.get(link, headers=headers)return responsedef get_json(link):response = requests.get(link)return response.json()def save_data(data, filePath, wType='wb'):# 获取文件路径path = filePath[: filePath.rfind('/') + 1]# 判断文件是否存在,不存在则创建if not os.path.exists(path):os.makedirs(path)# 判断是否以字节模式写入if wType.find('b') == 1:with open(filePath, wType)as f:f.write(data)f.flush()else:with open(filePath, wType, encoding='utf-8')as f:f.write(data)f.flush()if __name__ == '__main__':# 存储英雄的js地址url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'# 存储英雄皮肤技能的js地址hero_info_url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/%s.js'  # % hero.get('heroId')# 存储英雄头像的地址hero_head_url = 'https://game.gtimg.cn/images/lol/act/img/champion/%s.png'  # % hero.get('alias')# 获取英雄信息的列表heroLists = get_json(url).get('hero')print('正在下载')# 遍历进行数据爬取for hero in heroLists:# 英雄ID heroIdheroId = hero.get('heroId')# 英雄名 name 黑暗之女-title 安妮-alias Anniename = hero.get("name")title = hero.get("title")alias = hero.get('alias')# 进度打印print(f'英雄:{hero.get("name")}-{hero.get("title")}')print(f'\t头像:{hero.get("title")}.png')# 设置写入路径file = './头像/%s.png' % title# 获取图片headData = get(hero_head_url % alias).content# 写入本地save_data(headData, file)# 英雄语音包 banAudio 禁用时 selectAudio 选取时AudioUrls = {'禁用时': hero['banAudio'],'选取时': hero['selectAudio']}print(f'\t语音:')for t, url in AudioUrls.items():print(f'\t\t{t}.mp3')# 设置写入路径file = './语音/%s/%s.mp3' % (title, t)# 获取语音数据audioData = get(url).content# 写入本地save_data(audioData, file)# 存储英雄皮肤技能的json数据hero_info = get_json(hero_info_url % heroId)# 英雄皮肤hero_skins_info = hero_info.get('skins')# 英雄技能hero_spells_info = hero_info.get('spells')# 遍历数据print(f'\t皮肤:')for v in hero_skins_info:# 英雄皮肤对应名称 heroName 黑暗之女 - heroTitle 安妮hero_skin_name = v.get('name')# 英雄加载皮肤的链接hero_skin_png_url = v.get('loadingImg')print(f'\t\t{hero_skin_name}.png')# 设置写入路径file = './皮肤/%s/%s.png' % (title, hero_skin_name)# 获取图片try:hero_skin_data = get(hero_skin_png_url).contentexcept requests.exceptions.MissingSchema:hero_skin_data = get(v.get('chromaImg')).content# 写入本地save_data(hero_skin_data, file)print(f'\t技能:')# 按照指定规律进行排序sort = ['passive', 'q', 'w', 'e', 'r']# 下标计数count = 0# 初始化下标i = 0while i < len(hero_spells_info):# 获取信息info = hero_spells_info[count]# 判断是否符合顺序if info.get('spellKey') == sort[i]:i += 1# 获取技能名称name = info.get('name')# 获取按键spellKey = info.get('spellKey').upper()spellKey = (len(spellKey) > 1) and '被动' or spellKey# 获取图片地址pngUrl = info.get('abilityIconPath')# 技能介绍txt = f"{((len(spellKey) > 1) and '属性' or '按键')}:{spellKey}\n\n技能名称:{name}\n\n{info.get('description')}"print(f'\t\t[{spellKey}]{name}.png')# 设置写入路径pngFile = './技能/%s/[%s]%s.png' % (title, spellKey, name)txtFile = './技能/%s/技能描述.txt' % title# 获取数据headSkill = get(pngUrl).content# 写入本地save_data(headSkill, pngFile)save_data(f"{'*' * 30}\n{txt}\n", txtFile, 'a')else:# 不符合依次遍历count += 1# 到达临界值,重新定义为0if count == 5:count = 0print('\t\t技能描述.txt')

python实现英雄联盟信息获取相关推荐

  1. python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...

    Mika 来源 | 头图 |CSDN自东方IC今天教大家用Python预测英雄联盟比赛胜负. Show me data,用数据说话 今天我们聊一聊 Python预测LOL胜负 目前,英雄联盟S10全球 ...

  2. python 预测足球_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!...

    今天教大家用Python预测英雄联盟比赛胜负. Show me data,用数据说话 今天我们聊一聊 Python预测LOL胜负 目前,英雄联盟S10全球总决赛正在火热进行中,最终决赛于10月31日在 ...

  3. 利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!

    作者 | 真达.Mika 来源 | CDA数据分析师(ID:cdacdacda) 头图 |  CSDN 下载自东方IC 今天教大家用Python预测英雄联盟比赛胜负. Show me data,用数据 ...

  4. python下载英雄联盟皮肤

    这里写自定义目录标题 python--下载英雄联盟皮肤图片 程序源代码 python–下载英雄联盟皮肤图片 一个简单的代码,就可以把英雄联盟英雄全部的皮肤爬取下载以及保存到mongodb数据库中 因为 ...

  5. 英雄联盟api 获取玩家信息,找到韩服第一, 韩服最强王者名单

    初始化 需要准备的: 获得自己的api.如果不知道的朋友可以查看我之前写的如何获取拳头api博文 安装cassiopei包:pip install cassiopei (cassiopei 是一个专门 ...

  6. 【python】英雄联盟电竞观赛引擎 掉落提示 CapsuleFarmerEvolved 「Webhook」「钉钉」「饭碗警告」

    介绍 本项目链接 Github本项目链接 Gitee本项目链接 最近在github上发现一个可以用来自动帮你挂英雄联盟(除国服)电竞引擎(可以开出头像和表情)的项目,CapsuleFarmerEvol ...

  7. Python解析英雄联盟数据,教你带妹上分啦!

    前言 如今,只要随便进入一个网吧,都会发现玩<英雄联盟>的人是最多的,可以这么说,<英雄联盟>已经是当之无愧的端游一哥.而在拥有如此基数玩家的<英雄联盟>,已经不仅 ...

  8. 用python写英雄联盟的源代码

    在 Python 中编写英雄联盟的源代码可能是一项挑战.英雄联盟是一款复杂的多人在线对战游戏,它涉及到许多复杂的网络通信.游戏玩法.图形界面和其他技术.如果您是一名初学者,那么在 Python 中实现 ...

  9. Python下载英雄联盟皮肤图片

    import urllib.requestimport jsonimport os save_dir = "D:\英雄联盟皮肤"if not os.path.exists(save ...

  10. Python 网络爬虫与信息获取(二)—— 页面内容提取

    1. 获取超链接 python获取指定网页上所有超链接的方法 links = re.findall(b'"((http|ftp)s?://.*?)"', html) links = ...

最新文章

  1. POJ1821 Fence
  2. java xmlutil_XmlUtil工具类(toxml()和toBean())
  3. 深入理解Linux系统中的用户和组账号
  4. 解决WEB页面上焦点控制一法
  5. redis-bitmap 命令使用的一些帖子
  6. 原创 迈达斯GTS-NX网格模型(FPN)导入Flac3D 6.0 源码
  7. linux查看录音驱动程序,Linux 下查看麦克风或音频采集设备
  8. Google 研究主管Peter Norvig:你想当程序员么?这里有成功的“食谱”
  9. AcWing237. 程序自动分析
  10. html 图像热点在线处理,html area图片热点的使用介绍附相关属性一览表
  11. 大数据实际案例系列一
  12. 数据分析师,年终述职报告可以这么写(实操版)
  13. MySQL笔记(狂神说)
  14. 墙面有几种装修方法_外墙有几种装修方法
  15. C# 如何取得本机网卡的型号,IP地址,子网掩码和网关
  16. Xen - Networking
  17. 2020秋招——万字面经分享,这一篇超级走心
  18. solidity 中的时间_solidity基础知识
  19. 三态门的组成及工作原理
  20. 认识web和web标准

热门文章

  1. 用Nginx在win2008服务器部署ssl后xmlhttp异常(msxml6.dll 错误 ‘80072f7d‘ )的解决方法
  2. 阿里云服务器公网带宽下载上传速度及测速Ping值测试工具
  3. 取消全部呼叫转移代码_怎么取消呼叫转移-那些你不知道的功能,手机忘记带也能接电话,一个代码全搞定...
  4. 二手房房价影响因素分析案例
  5. SAS数据集随机抽样方法
  6. 『码上行动-编程擂台』学员作品展(附源码)
  7. 黑马程序员—因为感恩,所以我也来深圳黑马当班主任
  8. JetPack之DataStore源码笔记
  9. html文字段落i排版,i排版怎么修改字体 字体排版详细介绍
  10. 陈式新架一路八十三式口诀