接下来我们获取英雄和武器信息,详细代码KingGlory.py如下(代码中有详细注解):

# -*- coding: utf-8 -*-
#!/usr/bin/env python
# @Time    : 2018/6/15 17:12
# @Desc    :
# @File    : KingGlory.py
# @Software: PyCharm
"""
导入库
"""
import urllib
import requests,sys
"""
统一编码
"""
reload(sys)
sys.setdefaultencoding('utf-8')"""
获取英雄图片
"""
def DownloadHeroImage(url):req=requests.get(url=url).json()HeroNum=len(req['list'])print "一共有%d个英雄"%HeroNumHeroImagesPath="HeroiImages"HeroList=req['list']for  Hero  in HeroList:HeroImageUrl=Hero['cover']HeroName=Hero['name']+".jpg"FileName=HeroImagesPath+"/"+HeroNameprint "正在下载%s的图片"%Hero['name']urllib.urlretrieve(url=HeroImageUrl, filename=FileName)"""
获取所有英雄的名字和ID
"""
def HeroList(url):print '-'*100print '\t\t\t\t欢迎使用《王者》出装小助手'print '-'*100req=requests.get(url=url).json()flag=0HeroList=req['list']# for Hero in HeroList:#     flag+=1#     print "%s的ID为:%s"%(Hero["name"],Hero["hero_id"]),"\t"#     if flag==3:#         print "\n",""#         flag=0return HeroList
"""
获取并打印出装信息
Weapon所有武器的字典
"""
msg=''
def HeroInfo(url,WeaponInfo):req = requests.get(url=url).json()# msg=''msg='历史上的%s:%s'%(req['info']['name'],req['info']['history_intro'])# print "\n历史上的%s:\n %s"%(req['info']['name'],req['info']['history_intro'])for eachEquipChoice in req['info']['equip_choice']:msg+='\n'+(eachEquipChoice['title'])+':'+eachEquipChoice['description']print "\n%s:%s"%(eachEquipChoice["title"],eachEquipChoice["description"])flag=0totalPrice=0for eachWeapon in eachEquipChoice['list']:flag+=1weapon=seekWeapon(eachWeapon['equip_id'],WeaponInfo)weaponName=weapon[0]weaponPrice=weapon[1]msg+=('%s:%s'%(weaponName,weaponPrice)+'\t')print "%s:%s"%(weaponName,weaponPrice),"\t"if flag==3:print "\n",""flag=0totalPrice+=int(weaponPrice)msg+=u'神装套件总计:'+str(totalPrice)# print "神装套件总计:%d"%totalPricereturn msg"""
根据equip_id查询武器名字和价格
WeaponInfo保存所有武器的字典
"""
def seekWeapon(equipid,weaponinfo):for weapon in weaponinfo:if weapon['equip_id']==str(equipid):weaponname=weapon['name']weaponprice=weapon['price']return weaponname,weaponprice"""
获取武器信息
"""
def heroWeapon(url):req=requests.get(url=url).json()weaponList=req['list']return weaponListif __name__ == '__main__':# 英雄列表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"# DownloadHeroImage(heros_url)# 武器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"weaponInfo=heroWeapon(weapon_url)#HeroList=HeroList(heros_url)for Hero in HeroList:print "%s的ID为:%s"%(Hero["name"],Hero["hero_id"]),"\t"hero_id=Hero["hero_id"]hero_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)HeroInfo(hero_url,weaponInfo)

执行结果如下:

创建图形化界面views.py代码如下(代码中有详细注解):

# -*- coding: utf-8 -*-
#!/usr/bin/env python
# @Time    : 2018/6/19 14:37
# @Desc    :
# @File    : views.py
# @Software: PyCharmfrom Tkinter import *
import tkMessageBox
from KingGlory import *class Application(Frame):def __init__(self, master=None):Frame.__init__(self, master)self.pack()self.createWidgets()def createWidgets(self):self.nameInput = Entry(self,width=40)self.nameInput.pack()self.alertButton = Button(self, text='请输入英雄名', command=self.hello)self.alertButton.pack()def hello(self):# 武器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"weaponInfo = heroWeapon(weapon_url)# 英雄列表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"data = self.nameInput.get()HeroLis = HeroList(heros_url)Herodir={}for Hero in HeroLis:Herodir[Hero['name']]=Hero['hero_id']if  Herodir.has_key(data):hero_id = Herodir[data]hero_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)msg=HeroInfo(hero_url, weaponInfo)tkMessageBox.showinfo('英雄信息', '%s'%msg)else:tkMessageBox.showinfo('英雄信息', '%s' % "此英雄不存在!!!")if __name__ == '__main__':app = Application()# 设置窗口标题:app.master.title('王者助手')# 主消息循环:app.mainloop()

执行结果如下:

还有其他图形界面的表示方法,大家可以自己挖掘一下。

有一个微信公众号“IT-LearnHall”,经常会分享一些python技术相关的干货,可以了解一下。

Python实现王者荣耀小助手(一)

Python实现王者荣耀小助手(二)相关推荐

  1. Python实现王者荣耀小助手(一)

    简单来说网络爬虫,是指抓取万维网信息的程序或者脚本,Python在网络爬虫有很大优势,今天我们用Python实现获取王者荣耀相关数据,做一个小助手: 前期准备,环境搭建: Python2.7 sys模 ...

  2. Python写王者荣耀小游戏

    Python写王者荣耀小游戏 文章目录 Python写王者荣耀小游戏 说明: 一.socket创建 二.实现多进程 三.面向对象版本 四.主体部分搭建 1. 服务器主要步骤的实现 1-1主体部分 1- ...

  3. Python类王者荣耀小游戏

    一个有趣的(无聊的)关于类的Python王者荣耀小游戏(咳咳) 最近老师给我们布置了一个类的作业,我在网上看(瞥)了好多教程,一时间 心领神会,心血来潮,,心有灵犀,,,不对..不管了,写了一个无聊的 ...

  4. python小助手_Python实现王者荣耀小助手(二)

    #-*- coding: utf-8 -*-#!/usr/bin/env python#@Time : 2018/6/15 17:12#@Desc :#@File : KingGlory.py#@So ...

  5. python自学篇十[ 面向对象 (四) :王者荣耀小游戏+模拟一个简单的银行进行业务办理的类]

    python基础系列: python自学篇一[ Anaconda3安装 ] python自学篇二[ pycharm安装及使用 ] python自学篇三[ 判断语句if的使用 ] python自学篇四[ ...

  6. 【小程序源码】王者荣耀神器助手

    这是一款以王者荣耀为主的一款生成工具 支持王者营地战绩DIY生成(支持新旧两种营地版本) 支持王者荣耀游戏首页DIY制作生成 支持王者荣耀个人主页界面DIY制作生成 支持天梯界面DIY制作生成 另外还 ...

  7. 挑战纯python写王者荣耀,开lou!

    挑战用纯python写一个王者荣耀小游戏? 信不信点进来看!小白们快来,你们也行!我就不信你不笑,快跟我来! 这里是文章要用到的所有东西,需要的同学自取一下,直接可以用:用Python写王者荣耀,源码 ...

  8. 【python】王者荣耀全英雄高清壁纸爬虫共467M(多线程)

    文章目录 1. 成果展示 2. 单张预览 3. 软件下载 4. 壁纸下载 5. 进度打印 6. 目标网址 7. 依赖模块 8. 完整代码 9. 代码剖析 10. 打包教程 10.1. 打包前的准备 1 ...

  9. python3APP爬虫--爬取王者荣耀小姐姐cosplay照片(附源码)

    文章目录 一.絮叨 1.接上 2.启下 二.代码 三.查看数据 四.总结 一.絮叨 1.接上 自己挖的坑,自己填.上一篇python3APP爬虫–爬取王者荣耀英雄图片(附源码)爬取了王者荣耀英雄图片, ...

最新文章

  1. 插入网络CSS矢量图标、网络SVG矢量图标
  2. 手把手 | 教你爬下100部电影数据:R语言网页爬取入门指南
  3. Linux Kernel TCP/IP Stack — 网卡监控
  4. 计算机英语基础课程论文,计算机专业英语课程教学论文
  5. error C2504: “XXXXXXX”: 未定义基类
  6. javascript:jquery.history.js使用方法
  7. 小程序内嵌h5页面分享_微信小程序webview内页面分享
  8. java语言中的标识符_Java语言基本语法(一)————关键字标识符(Java语言标识符命名规范Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )...
  9. RMAN-06091 no channel allocated for maintenance
  10. Js-Html转文本
  11. python contains用法_jQuery contains过滤器实现精确匹配使用方法
  12. 微信小程序授权登录取消授权重新授权处理方法 附可用代码
  13. android ios通讯录权限设置,IOS 通讯录的访问和修改的实现
  14. 关于bootstrap--表格(table的各种样式)
  15. 引领办公大趋势 2017年度办公产品评奖
  16. redis常用命令集合
  17. 体会视觉的震撼,从10亿光年到0.1飞米
  18. 易编程2022年8月月刊
  19. 98.网络安全渗透测试—[常规漏洞挖掘与利用篇14]—[SESSION身份验证绕过漏洞与测试]
  20. 人脸识别主板人脸识别整机如何发送闸机开关指令继电器关闸开闸

热门文章

  1. 【工具】小巧好用的屏幕截图工具——ScrToPic
  2. Web端 嵌入海康视频监控组件
  3. Pi-puck的ROS开发之路
  4. STK加载地图与高清影像图
  5. 3、第三方软件中使用TWS API的相关问题
  6. java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.vick.myapp/com.vick.mya
  7. 股市java_Java获取股市交易日
  8. TWaver使用中间点画折线方法
  9. 关于R语言显示“Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]=”问题的解决办法
  10. JSON.parse()、JSON.stringify、 parseInt()