王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文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开发王者荣耀带妹神器,一路直奔上王者...相关推荐

  1. python接私活王者_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...

    王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在 前期准备 环境 ...

  2. 大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者

    王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在 前期准备 环境 ...

  3. 利用Python开发王者荣耀,一路直奔上王者

    王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文利用Python带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在,学习资料可以加 ...

  4. python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...

    尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...

  5. python按键暂停程序_汇总程序员学习python必备的42个快捷键,看完收获满满

    很多程序员在学习python的时候,是否遇到过一些操作不方便且很繁琐小问题,特别还会影响到你工作的进度,或许这50个快捷键能够帮助到你哦! 首先先从Shift系列的按键开始: 1. Shift+Alt ...

  6. python海龟画图代码大全_【程序源代码】python 海龟画图

    关键字: 正文 | 内容 今天这篇文章主要是介绍:python 海龟画图画一个正方形图案 01 - Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴 ...

  7. python写小猪佩奇_这个程序员用 Python 20 秒画完小猪佩奇“社会人”!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 丁彦军 责编 | 唐小引 每天写代码的程序员,你们知道今年社交平台上最火的带货女王 ...

  8. gz键盘增强小工具_资深程序员:Python中你不知道的那些小工具

    python作为越来越流行的一种编程语言,不仅仅是因为它语言简单,有许多现成的包可以直接调用. python中还有大量的小工具,让你的python工作更有效率. 1. 快速共享 HTTP服务器 Sim ...

  9. python硬件编程智能家居_适合程序员的智能家居

    前言 看到最近智能家居的讨论挺火,我也来分享下在智能家居这块的体会.我主要改造了我租的房子的室灯.主要实现功能有:监控室内环境,改装了室灯,光线暗的时候有人时自动开灯,光线亮自动灭灯,可红外用遥控器. ...

最新文章

  1. 组合特征(二)tfidf(word+article)+lsa
  2. Java中的集合笔记
  3. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的实现原理
  4. 笔记本多硬盘win7下U盘安装Cnetos7引导问题!
  5. 离线安装 VS2017 的正确姿势
  6. 物联网商机迸发 LPWAN芯片现身 本文转自d1net(转载)
  7. 快捷登录PHP,phpcms 微信快捷登陆
  8. C语言课后习题(44)
  9. 计算机专业综合改革举措,计算机专业教学改革
  10. Python检查字符串是否包含另一个字符串
  11. 基于sklearn和keras的数据切分与交叉验证
  12. VUE项目中引入135编辑器
  13. jmail 发送html,jmail发送html格式的邮件
  14. 淘宝用户行为分析——通过excel分析
  15. 解决GUT GUI中文乱码问题
  16. 转:著名的100个管理定律点评6 -- 决策(上)
  17. 运行 Clojure 编程实战 5.3 节代码出现 Could not locate Clojure resource on classpath 问题
  18. EDAS系统上传稿件The font Arial-ItalicMT is not embedbed in the fille.(FAQ 109)解决
  19. Redis中的数据类型及其应用场景
  20. docker发布自己的镜像到docker hub上

热门文章

  1. 多电脑如何在一个局域网内共享一台打印机
  2. CE植物大战僵尸——阳光值基址寻找
  3. 新冠疫情对广告投放影响究竟多大?
  4. OCR--苹果ios安卓android身份证拍照扫描识别sdk
  5. 【Verilog】加法器减法器的设计
  6. 简单的网络数据++分类++封装OkHttp
  7. L1-007 念数字(Python3)
  8. 使用 Vue3 + elementPlus 做一个每日习惯打卡表
  9. CentOS7 挂载NTFS分区
  10. Echart 画图表