微信小程序头脑王者脚本

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

首先导入需要使用的包(具体每个包是干啥的可以自行百度,这样记忆效果也比较好):
# -*- 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
    )
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python微信小程序脚本是一种使用Python编写的针对微信小程序脚本工具。通过这种脚本,开发者可以通过Python语言来实现对微信小程序的各种操作和功能。 Python微信小程序脚本具有以下特点和功能: 1. 自动化操作:通过Python脚本,可以模拟用户在微信小程序中的操作,比如实现自动登录、自动发送消息、自动点击等。这样可以减少开发者手动操作的时间和工作量。 2. 数据抓取和分析:Python脚本可以通过网络请求获取微信小程序的数据,并进行处理和分析。开发者可以使用Python的数据处理和分析库对微信小程序的数据进行抓取、清洗、统计等操作,以便进行更深入的数据分析和挖掘。 3. 测试和调试:Python脚本可以用于进行微信小程序的测试和调试。开发者可以编写脚本来模拟用户的各种操作,以便进行功能和性能的测试,并快速定位和解决问题。 4. 功能扩展:通过Python脚本,可以扩展微信小程序的功能。开发者可以通过Python来编写微信小程序的后台逻辑、定时任务等,以及与其他系统的对接,实现更复杂和强大的功能。 需要注意的是,使用Python微信小程序脚本时需要先了解微信小程序的开发规范和接口,以及Python相关的库和框架。通过合理使用Python脚本,可以提高开发效率、简化操作流程、增强小程序的功能和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值