Python-王者荣耀自动刷金币+爬取英雄信息+图片

Posted Empirefree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-王者荣耀自动刷金币+爬取英雄信息+图片相关的知识,希望对你有一定的参考价值。

   前提:本文主要功能是

        1.用python代刷王者荣耀金币

        2.爬取英雄信息

        3.爬取王者荣耀图片之类的。

    (全部免费附加源代码)

   思路:第一个功能是在基于去年自动刷跳一跳python代码上面弄的,思路来源陈想大佬,主要是图片识别像素,然后本机运行模拟器即可,第二、三功能是python基本爬虫功能。3个功能整合了一下。

   实现效果如下:

  

 

    

   

 

 

 

/***************************************************************************************************************************************************************************************************/

  1.自动刷王者荣耀金币(主要):

    配置环境

      adb环境配置: https://www.cnblogs.com/yc8930143/p/8259486.html 

                     i.            pip 安装PIL模块

                    ii.            pip安装six模块

                    iii.            pip安装shutil模块

                    iv.            pip安装subprocess模块

                    v.            pip安装numpy模块

                    vi.            pip安装matplotlib模块

    模拟器或者手机什么的只要adb device 能识别就行,端口什么的不影响,然后命令行在文件根目录下运行即可。

    过程:

      基本环境弄好后,代码就是search_jump的像素识别(大小为模拟器或手机界面大小),在一定范围内进行点击,然后循环点击即可,感觉可以用到其他APP上面(比如全名K歌签到领取鲜花等等)或者服务器上装一个windows系统,这样就可以一直跑了.

    注意:并不是只有一个automain.py代码,其中涉及到其他文件夹下的函数调用,主要就是模拟点击功能的实现吧。

  代码解析:

    screent_shot(屏幕截图):screen_way是截图方式,通过pull_screenshot和check_screenshot进行屏幕截图,便于后面图片像素分析(读者也可自己加入选择部分截图功能)

    yes_or_no:基本连接手机或模拟器函数,判断电脑是否连接上外设

    然后就是search_jump,game_next等基本函数了,感觉还是蛮容易理解的,给出源代码吧

 

              链接: https://pan.baidu.com/s/1PXDPduSEUbAw-pOvrypM4A 提取码: am7s 

 

  2.爬取图片和验证码(次要)

    识别官网API接口即可,然后简单处理信息,对于爬虫还算一个比较好的入门,给出完整代码

picture.py代码:

              核心API接口就是:http://gamehelper.gm825.com/wzry/hero/list?game_id=7622   ,然后用户简单分析一下json数据即可

    

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
# @Time : 2018/9/24 17:11
# @Author : Empirefree
# @File : 爬取照片.py
# @Software: PyCharm
import requests
import os
from urllib.request import urlretrieve


def download(url):
	headers = {
				\'Accept-Charset\': \'UTF-8\',
				\'Accept-Encoding\': \'gzip, deflate\',
				\'Connection\': \'Keep-Alive\'
				}
	res = requests.get(url, headers=headers).json()
	hero_num = len(res[\'list\'])
	print(\'[Hero Num]:%d\' % hero_num)
	for hero in res[\'list\']:
		pic_url = hero[\'cover\']
		hero_name = hero[\'name\'] + \'.jpg\'
		filename = \'./images/\' + hero_name
		if \'images\' not in os.listdir():
			os.makedirs(\'images\')
		urlretrieve(url=pic_url, filename=filename)
		print(\'[INFO]:Get %s picture...\' % hero[\'name\'])

if __name__ == \'__main__\':
	print(\'**************************************************************************\')
	print(\'*****************!!!欢迎使用王者荣耀小助手!!!*************************\')
	print(\'*****************作者:Empirefree                    *********************\')
	print(\'*****************工具: Pycharm                       *********************\')
	print(\'*****************时间: 2018/9/24 17:11               *********************\')
	print(\'**************************************************************************\')
	download("http://gamehelper.gm825.com/wzry/hero/list?game_id=7622")
	print(\'**************************************************************************\')
	print(\'照片已下载到您images目录下,请保证有网条件下执行本程序\')
	print(\'**************************************************************************\')
	n = input(\'回车结束........\')

    info.py代码

    分析:和上述代码差不多,也是接口分析问题: http://gamehelper.gm825.com/wzry/equip/list?game_id=7622 ,个人感觉比较好用的就是网络图片下载的语句

    下载图片:urlretrieve()

 

    

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
# @Time : 2018/9/24 17:49 
# @Author : Empirefree 
# @File : info.py 
# @Software: PyCharm
import requests
import time


class Spider():
	def __init__(self):
		self.headers = {
					\'Accept-Charset\': \'UTF-8\',
					\'Accept-Encoding\': \'gzip, deflate\',
					\'Connection\': \'Keep-Alive\'
					}
		self.weapon_url = "http://gamehelper.gm825.com/wzry/equip/list?game_id=7622"
		self.heros_url = "http://gamehelper.gm825.com/wzry/hero/list?game_id=7622"
		self.hero_url = "http://gamehelper.gm825.com/wzry/hero/detail?hero_id={}"
		print(\'*\' * 60)
		print(\'[INFO]:王者荣耀助手...\')
		print(\'[Usage]:请输入英雄ID获取英雄信息...\')
		print(\'[Author]:Empirefree\')
		print(\'*\' * 60)
	# 外部调用函数
	def run(self):
		heroId_exist = self._Get_HeroId()
		heroId = input(\'\\nEnter the Hero ID:\')
		if heroId not in heroId_exist:
			print(\'[Error]:HeroId inexistence...\')
			return
		weapon_info = self._Get_WeaponInfo()
		self._Get_HeroInfo(weapon_info, heroId)
	# 获得英雄ID
	def _Get_HeroId(self):
		res = requests.get(url=self.heros_url, headers=self.headers)
		heros = res.json()[\'list\']
		num = 0
		heroId_list = []
		for hero in heros:
			num += 1
			print(\'%sID: %s\' % (hero[\'name\'], hero[\'hero_id\']), end=\'\\t\\t\\t\')
			heroId_list.append(hero[\'hero_id\'])
			if num == 3:
				num = 0
				print(\'\')
		return heroId_list
	# 获取武器信息
	def _Get_WeaponInfo(self):
		res = requests.get(url=self.weapon_url, headers=self.headers)
		weapon_info = res.json()[\'list\']
		return weapon_info
	# 获得出装信息
	def _Get_HeroInfo(self, weapon_info, heroId):
		def seek_weapon(equip_id, weapon_info):
			for weapon in weapon_info:
				if weapon[\'equip_id\'] == str(equip_id):
					return weapon[\'name\'], weapon[\'price\']
			return None
		res = requests.get(url=self.hero_url.format(heroId), headers=self.headers).json()
		print(\'[%s History]: %s\' % (res[\'info\'][\'name\'], res[\'info\'][\'history_intro\']))
		num = 0
		for choice in res[\'info\'][\'equip_choice\']:
			num += 1
			print(\'\\n[%s]:\\n  %s\' % (choice[\'title\'], choice[\'description\']))
			total_price = 0
			for weapon in choice[\'list\']:
				weapon_name, weapon_price = seek_weapon(weapon[\'equip_id\'], weapon_info)
				print(\'[%s Price]: %s\' % (weapon_name, weapon_price))
				if num == 3:
					print(\'\')
					num = 0
				total_price += int(weapon_price)
			print(\'[Ultimate equipment price]: %d\' % total_price)


if __name__ == \'__main__\':
	while True:
		Spider().run()
		time.sleep(5)

    到此算是整理完王者荣耀写过的代码了,QAQ。

以上是关于Python-王者荣耀自动刷金币+爬取英雄信息+图片的主要内容,如果未能解决你的问题,请参考以下文章

Python爬取王者荣耀官网,实现一对一下载软件!

20行Python代码爬取王者荣耀全英雄皮肤

20行Python代码爬取王者荣耀全英雄皮肤

python爬虫-20行代码爬取王者荣耀所有英雄图片,小白也轻轻松松

python爬虫-20行代码爬取王者荣耀所有英雄图片,小白也轻轻松松

利用Python自动操纵鼠标键盘刷金币,工作室都是靠这种搬砖