前一段答题特别火的时候写了一个微信头脑王者的小脚本来辅助答题,原理是将问题百度,然后看选项在搜索结果中出现的频率判断正确答案,准确率虽然不能达到百分之百,但是最起码能提高不少答题正确率。

首先导入需要使用的包(具体每个包是干啥的可以自行百度,这样记忆效果也比较好):
# -*- coding: utf-8 -*-
import os
import random
import requests
import subprocess

from PIL import Image
from aip import AipOcr
from io import BytesIO

然后是配置文件(就是在屏幕中问题出现的区域和答案出现的区域,point就是点击的位置):

config = {
    'head_king': {
        'title': (80, 500, 1000, 880),
        'answers': (80, 960, 1000, 1720),
        'point': [
            (316, 993, 723, 1078),
            (316, 1174, 723, 1292),
            (316, 1366, 723, 1469),
            (316, 1570, 723, 1657),
        ]
    }
}

获取屏幕截图函数,当出现问题和答案后,进行截图:
def get_screen_img():
    """获取屏幕截图"""
    phone_img = subprocess.Popen('adb shell screencap -p', shell=True, stdout=subprocess.PIPE)
    screen_img = phone_img.stdout.read()
    # 格式化到windows
    screen_img = screen_img.replace(b'\r\r\n', b'\n')

img_fb = BytesIO()
    img_fb.write(screen_img)

img = Image.open(img_fb)
    question_title_img = img.crop(config['head_king']['title'])
    question_answers_img = img.crop(config['head_king']['answers'])

new_img = Image.new('RGBA', (920, 1140))
    new_img.paste(question_title_img, (0, 0, 920, 380))
    new_img.paste(question_answers_img, (0, 380, 920, 1140))

new_img_fb = BytesIO()
    new_img.save(new_img_fb, 'png')
    return new_img_fb

这个函数的作用是将图片中的文字提取出来(使用的是百度的文字识别,是免费的,没有的可以去注册个,新新建个应用就可以了,APP_ID,API_KEY,SECRET_KEY这三项在注册后会生成自己的):
def get_img_word(img):
    APP_ID = '**********'
    API_KEY = '******************'
    SECRET_KEY = '****************************'
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    res = client.basicGeneral(img)
    return res

然后就是讲图片内的问题进行百度啦(计算网页内几个选项出现的次数):
def use_baidu_search(question, answers):
    url = 'https://www.baidu.com/s'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'
    }
    data = {
        'wd': question
    }
    res = requests.get(url, params=data, headers=headers)
    res.encoding = 'utf-8'
    html = res.text

for i in range(len(answers)):
        answers[i] = (html.count(answers[i]), answers[i], i)
    answers.sort(reverse=True)

return answers

click函数,作用是自动点击屏幕,也可以不使用此函数,自己分析后手动点击:
def click(point):
    cmd = 'adb shell input swipe %s %s %s %s %s' % (
        point[0],
        point[1],
        point[0] + random.randint(0, 3),
        point[1] + random.randint(0, 3),
        200
    )

微信小程序头脑王者脚本相关推荐

  1. 微信小程序头脑王者辅助神器

    起步 最近直播答题火热,群里也经常看到比拼微信小程序<头脑王者>.我比较笨,凭纯答题只到了黑金段位.鉴于本周刚刚点亮了收集抓包的技能,于是想试着通过这个来做一个辅助工具. 抓包 我使用的是 ...

  2. 微信小程序:王者战力查询改名工具箱小程序源码

    今天分享一款战力查询小程序源码, 微信端QQ苹果安卓四端端战力查询 带改名工具,空白名.重复名.符号名改名小程序源码 带流量主广告位,带激励视频广告位,界面精美,无需服务器后台. 至于更多,就大家自行 ...

  3. 微信小程序语言c#,微信小程序推出最新脚本语言WXS,你需要知道的全在这里了...

    原标题:微信小程序推出最新脚本语言WXS,你需要知道的全在这里了 感谢"造程序"(微信ID:zaochengxucom)的授权发布. 责编:陈秋歌,关注微信开发等领域,寻求报道或者 ...

  4. 微信小程序:王者荣耀改名神器

    这是一款王者改名小程序 支持重复名改名 支持空白名改名 另外也支持特殊符合随机生成改名等等 该款小程序引流裂变的效果非常的好 支持流量主收益如激励视频获取改名次数等等 另外该小程序还有更多,支持推荐其 ...

  5. 微信小程序:王者荣耀出装与铭文推荐助手

    这是一款王者荣耀助手的一款小程序源码 该小程序主要功能就是提供各个英雄出装和铭文查询 功能虽然单调但是对于玩王者的朋友来说还是挺实用的! 目前该小程序源码已支持多种流量主模式 小程序源码下载地址: 微 ...

  6. 微信小程序:王者荣耀战力查询微信小程序源码下载支持安卓苹果微信QQ等多区查询

    这是一款战力查询的微信小程序源码 源码内自带了接口 目前支持了微信,QQ,苹果,安卓全区都可以查询 支持流量主收益,而且搭建安装简单 使用微信开发者工具打开源码然后设置一下合法域名上传审核即可 该小程 ...

  7. 微信小程序:王者荣耀改重复名,空白名最低战力查询助手

    这是一款由重复名,空白名.和各区战力查询组合的一款微信小程序源码! 重复名支持一键生成几十个,就再也不怕都被别人用过了! 空白名支持多种空白名,王者荣耀空白名,贵族居中空白名,QQ微信专属空白名 战力 ...

  8. 在微信小程序的JS脚本中使用Promise来优化函数处理

    在我们传统的Javascript开发函数编写中,我们习惯了回调函数的处理,不过随着回调函数的增多,以及异步处理的复杂性等原因,代码越来越难读,因此诞生了使用Promise来优化JS函数处理的需求,引入 ...

  9. 学习微信小程序开发框架之脚本语言WXS

    此贴为学习9 小时搞定微信小程序开发 的笔记. 文档:WXS · 小程序 WXS(WeiXin Script)是小程序的一套脚本语言.结合 WXML,可以构建出页面视图的结构和内容.一般使用WXS做过 ...

最新文章

  1. attr,abbr,addr三个常见的单词意思
  2. 基于ArcSDE的影像数据管理-疑惑篇 (转载)
  3. java中channelmessage,MessagePack在Netty中的应用
  4. Spring IOC容器-自动装配
  5. 【Tensorflow】Tensorflow中的卷积函数(conv2d、slim.conv2d、depthwise_conv2d、conv2d_transpose)
  6. Nginx中break和last的区别
  7. mac java jni_Mac OS上编译JNI的动态库
  8. python编辑器使用技巧大全_markdown编辑器常用功能汇总
  9. 57 Insert Interval
  10. cm10主题android l,索爱MK16i刷机包[Nightly 2013.03.18 CM10] Cyanogen团队定制
  11. 据说的屏蔽惠普增霸卡方法!
  12. win10磁盘占用率过高解决办法
  13. Matlab入门基础思维导图
  14. WIN10桌面美化(折腾)
  15. 绿色数据中心基础设施建维服务认证
  16. 口令订单红包V1.1.3公众号源码,增加关注多久后才能使用口令与领取红包功能
  17. 寻找java项目/兼职
  18. python刷阅读_Python 刷高博客阅读量
  19. Duang一夏,安码企业流程化管控软件优惠季来了! 活动介绍
  20. 接入google 登录 google oauth2

热门文章

  1. Java学习之设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。
  2. 【Python】08 通用水文年鉴数据提取方法
  3. 如何自建微信外卖平台_如何自建微信外卖平台,微信外卖系统怎样去运作
  4. 《Java语言精粹》译者序
  5. freecad 脚本
  6. 录音转文字软件哪个好?快把这些软件收好
  7. 一、在使用mange.py makemigrations时报错
  8. IDE(21)——常用Java IDE开发工具之 Eclipse 介绍
  9. python生成项目requirements以及自动安装requirements
  10. Windows CE 5.0 for VMWare虚拟机和BSP下载