python面向对象实例王者荣耀_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...
王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在
前期准备
环境:Python3+ Windows
IDE:随意
模块:
1 from urllib.request import urlretrieve2 3 import requests
首先找到三个接口
第一个是英雄武器的接口# 武器URL地址weapon_url = "http://gamehelper.gm825.com/wzry/equip/list?channel_id=90009a&app_id=h9044j&game_id=7622&game_name=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80&vcode=12.0.3&version_code=1203&cuid=2654CC14D2D3894DBF5808264AE2DAD7&ovr=6.0.1&device=Xiaomi_MI+5&net_type=1&client_id=1Yfyt44QSqu7PcVdDduBYQ%3D%3D&info_ms=fBzJ%2BCu4ZDAtl4CyHuZ%2FJQ%3D%3D&info_ma=XshbgIgi0V1HxXTqixI%2BKbgXtNtOP0%2Fn1WZtMWRWj5o%3D&mno=0&info_la=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&info_ci=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&mcc=0&clientversion=&bssid=VY%2BeiuZRJ%2FwaXmoLLVUrMODX1ZTf%2F2dzsWn2AOEM0I4%3D&os_level=23&os_id=dc451556fc0eeadb&resolution=1080_1920&dpi=480&client_ip=192.168.0.198&pdunid=a83d20d8"
第二个是英雄列表接口# 英雄列表URL地址heros_url = "http://gamehelper.gm825.com/wzry/hero/list?channel_id=90009a&app_id=h9044j&game_id=7622&game_name=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80&vcode=12.0.3&version_code=1203&cuid=2654CC14D2D3894DBF5808264AE2DAD7&ovr=6.0.1&device=Xiaomi_MI+5&net_type=1&client_id=1Yfyt44QSqu7PcVdDduBYQ%3D%3D&info_ms=fBzJ%2BCu4ZDAtl4CyHuZ%2FJQ%3D%3D&info_ma=XshbgIgi0V1HxXTqixI%2BKbgXtNtOP0%2Fn1WZtMWRWj5o%3D&mno=0&info_la=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&info_ci=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&mcc=0&clientversion=&bssid=VY%2BeiuZRJ%2FwaXmoLLVUrMODX1ZTf%2F2dzsWn2AOEM0I4%3D&os_level=23&os_id=dc451556fc0eeadb&resolution=1080_1920&dpi=480&client_ip=192.168.0.198&pdunid=a83d20d8"
第三个是英雄出装的接口
第三个接口有点特殊,需要前面的英雄id,也就是hero_id# 英雄出装URLhero_url = "http://gamehelper.gm825.com/wzry/hero/detail?hero_id={}&channel_id=90009a&app_id=h9044j&game_id=7622&game_name=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80&vcode=12.0.3&version_code=1203&cuid=2654CC14D2D3894DBF5808264AE2DAD7&ovr=6.0.1&device=Xiaomi_MI+5&net_type=1&client_id=1Yfyt44QSqu7PcVdDduBYQ%3D%3D&info_ms=fBzJ%2BCu4ZDAtl4CyHuZ%2FJQ%3D%3D&info_ma=XshbgIgi0V1HxXTqixI%2BKbgXtNtOP0%2Fn1WZtMWRWj5o%3D&mno=0&info_la=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&info_ci=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&mcc=0&clientversion=&bssid=VY%2BeiuZRJ%2FwaXmoLLVUrMODX1ZTf%2F2dzsWn2AOEM0I4%3D&os_level=23&os_id=dc451556fc0eeadb&resolution=1080_1920&dpi=480&client_ip=192.168.0.198&pdunid=a83d20d8".format(hero_id)
下面就是愉快的代码之旅了~
先热热身,通过urllib下载王者荣耀得英雄图片,下面是代码部分:1 # 下载王者荣耀英雄图片
2 def hero_imgs_download(url,header):
3 # 获取文本.text 获取图片 .content
4 req = requests.get(url = url,headers = header).json() 5 # 字典格式
6 # print((req))
7 hero_num = len(req['list']) 8 print("一共有%d个英雄"%hero_num) 9 hero_images_path = 'hero_images'10 hero_list = req['list']11 for each_hero in hero_list:12 # print(each_hero)13 hero_photo_url = each_hero['cover']14 hero_name = each_hero['name'] + '.jpg'15 filename = hero_images_path + '/' + hero_name16 print("正在下载 %s的图片"%each_hero['name'])17 # if hero_images_path not in os.listdir():18 # os.makedirs(hero_images_path)19 # 下载图片20 urlretrieve(url = hero_photo_url,filename = filename)
运行后下载图片:
接下来是获取英雄的名字和ID,代码如下:1 # 打印所有英雄的名字和ID
2 def hero_list(url,header):
3 print('*' * 100) 4 print('\t\t\t\t欢迎使用《王者荣耀》出装小助手!') 5 print('*' * 100) 6 req = requests.get(url = url,headers = header).json() 7 flag = 0
8 hero_list = req['list'] 9 for each_hero in hero_list:10 flag += 111 # 为end传递一个\t,这样print函数不会在字符串末尾添加一个换行符,而是添加一个\t12 print("%s的ID为:%s"%(each_hero['name'],each_hero['hero_id']),end = '\t\t')13 if flag == 3:14 # 先不加end 在加end 看效果15 print('\n',end='')16 flag = 0
运行效果如图所示:
接下来就是出装的最主要部分
根据用户输入的英雄ID,查询出英雄的出装,以及总价
代码如下:1 # 获取并打印出装信息
2 #Python学习交流群:125240963
3 # weapon_info 所有武器的字典
4 def hero_info(url,header,weapon_info): 5 req = requests.get(url=url, headers=header).json() 6 print("\n历史上的%s:\n %s"%(req['info']['name'],req['info']['history_intro'])) 7 for each_equip_choice in req['info']['equip_choice']: 8 # print(each_equip_choice)
9 print('\n%s:%s'%(each_equip_choice['title'],each_equip_choice['description']))10 flag = 011 total_price = 012 for each_weapon in each_equip_choice['list']:13 flag += 114 weapon = seek_weapon(each_weapon['equip_id'],weapon_info)15 # print(weapon)16 weapon_name = weapon[0]17 weapon_price = weapon[1]18 print('%s:%s' % (weapon_name, weapon_price), end='\t')19 if flag == 3:20 print('\n', end='')21 flag = 022 total_price += int(weapon_price)23 print("神装套件共计:%d"%total_price)
这个时候运行会有一些问题,seek_weapon函数还没有定义,接下来定义seek_weapon,代码如下:# 根据equip_id查询武器名字和价格# weapon_info - 存储所有武器的字典def seek_weapon(equip_id,weapon_info):
for each_weapon in weapon_info: if each_weapon['equip_id'] == str(equip_id):
weapon_name = each_weapon['name']
weapon_price = each_weapon['price'] return weapon_name,weapon_price
seek_weapon函数在调用的时候,需要weapon_info,也就是所有武器的字典,这个时候就需要在定义一个函数来获取武器的字典
1 # 获取武器信息2 def hero_weapon(url,header):3 req = requests.get(url=url, headers=header).json()4 weapon_info_list = req['list']5 return weapon_info_list
另附headers
headers = { 'Accept-Charset': 'UTF-8', 'Accept-Encoding': 'gzip,deflate', 'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; MI 5 MIUI/V8.1.6.0.MAACNDI)', 'X-Requested-With': 'XMLHttpRequest', 'Content-type': 'application/x-www-form-urlencoded', 'Connection': 'Keep-Alive', 'Host': 'gamehelper.gm825.com'
}
最终的运行效果下图:
源代码获取地址
QQ群:836962007加群即可获取
python面向对象实例王者荣耀_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...相关推荐
- python接私活王者_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...
王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在 前期准备 环境 ...
- 大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者
王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在 前期准备 环境 ...
- 利用Python开发王者荣耀,一路直奔上王者
王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文利用Python带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在,学习资料可以加 ...
- python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...
尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...
- python按键暂停程序_汇总程序员学习python必备的42个快捷键,看完收获满满
很多程序员在学习python的时候,是否遇到过一些操作不方便且很繁琐小问题,特别还会影响到你工作的进度,或许这50个快捷键能够帮助到你哦! 首先先从Shift系列的按键开始: 1. Shift+Alt ...
- python海龟画图代码大全_【程序源代码】python 海龟画图
关键字: 正文 | 内容 今天这篇文章主要是介绍:python 海龟画图画一个正方形图案 01 - Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴 ...
- python写小猪佩奇_这个程序员用 Python 20 秒画完小猪佩奇“社会人”!
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 丁彦军 责编 | 唐小引 每天写代码的程序员,你们知道今年社交平台上最火的带货女王 ...
- gz键盘增强小工具_资深程序员:Python中你不知道的那些小工具
python作为越来越流行的一种编程语言,不仅仅是因为它语言简单,有许多现成的包可以直接调用. python中还有大量的小工具,让你的python工作更有效率. 1. 快速共享 HTTP服务器 Sim ...
- python硬件编程智能家居_适合程序员的智能家居
前言 看到最近智能家居的讨论挺火,我也来分享下在智能家居这块的体会.我主要改造了我租的房子的室灯.主要实现功能有:监控室内环境,改装了室灯,光线暗的时候有人时自动开灯,光线亮自动灭灯,可红外用遥控器. ...
最新文章
- 组合特征(二)tfidf(word+article)+lsa
- Java中的集合笔记
- Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的实现原理
- 笔记本多硬盘win7下U盘安装Cnetos7引导问题!
- 离线安装 VS2017 的正确姿势
- 物联网商机迸发 LPWAN芯片现身 本文转自d1net(转载)
- 快捷登录PHP,phpcms 微信快捷登陆
- C语言课后习题(44)
- 计算机专业综合改革举措,计算机专业教学改革
- Python检查字符串是否包含另一个字符串
- 基于sklearn和keras的数据切分与交叉验证
- VUE项目中引入135编辑器
- jmail 发送html,jmail发送html格式的邮件
- 淘宝用户行为分析——通过excel分析
- 解决GUT GUI中文乱码问题
- 转:著名的100个管理定律点评6 -- 决策(上)
- 运行 Clojure 编程实战 5.3 节代码出现 Could not locate Clojure resource on classpath 问题
- EDAS系统上传稿件The font Arial-ItalicMT is not embedbed in the fille.(FAQ 109)解决
- Redis中的数据类型及其应用场景
- docker发布自己的镜像到docker hub上