用python制作《沖頂大會(huì)》答題工具


最近很多人玩答題類(lèi)App,例如沖頂大會(huì)、芝士超人、百萬(wàn)英雄系列,答對(duì)12道題與其他玩家平分所有獎(jiǎng)金,雖然獎(jiǎng)金沒(méi)有剛開(kāi)始的時(shí)候多了,但偶爾還是能有個(gè)飯錢(qián)的。一方面是玩的人多了,另一方面是因?yàn)榭萍际侄翁?,有基于語(yǔ)音識(shí)別的、圖像識(shí)別的,還有抓接口的,甚至有直播答題的,它們的各自?xún)?yōu)缺點(diǎn)請(qǐng)大家自己嘗試,我也不說(shuō)哪個(gè)工具了,在此只說(shuō)自己制作的一款小工具,它首先用OCR識(shí)別手機(jī)的截圖,然后把識(shí)別到的問(wèn)題交給百度,返回顯示搜索結(jié)果。

準(zhǔn)備工作

基本環(huán)境:macOS 10.12.5、 python 2.7、Xcode 8.33、PyCharm

控制手機(jī)截圖

  1. 首先用xcode運(yùn)行WebDriverAgent項(xiàng)目,若提示連接失敗可以嘗試重新插下數(shù)據(jù)線,直到提示:
    image.png
  2. 假若需要轉(zhuǎn)換端口的,則轉(zhuǎn)換端口:


    image.png
  3. python代碼獲取圖片:
import wda
c = wda.Client('http://localhost:8100') 
c.screenshot('/Users/gcf/Desktop/shotImg/%dscreen.png' % (tag))

OCR識(shí)別圖像

這里的OCR,各位也可以用三方的,列如百度、騰訊,它們的準(zhǔn)確度高,速度快。

import pytesseract
from PIL import Image

# open image
image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='chi_sim')
print(code)

百度搜索

首先調(diào)用搜索,然后用BeautifulSoup獲取返回的結(jié)果列表,最后用正則處理結(jié)果。

#coding=utf-8
import urllib2
import urllib
from bs4 import BeautifulSoup
import re


def search(ques,keywords):
    length =5
    request = urllib2.Request(
        'http://www.baidu.com/s?wd=' + urllib.quote((ques).strip().decode(sys.stdin.encoding).encode('gbk')))
    response = urllib2.urlopen(request)

    soup = BeautifulSoup(response.read(), 'html5lib')
    # rr1 =soup.select('div.result h3.t > a')  #標(biāo)題
    data = soup.select('div.c-abstract')

    for index in range(len(data)):
        if index<length:
            item = data[index]
            # 處理<em></em>
            data1 = re.sub('<em>', '\033[32;0m', str(item))
            data2 = re.sub('</em>', '\033[0m', data1)
            # 保留內(nèi)容
            data3 = re.sub(u'<[\d\D]*?>', '', data2)
            for key in keywords:
                data3 = re.sub(key, '\033[0;35m'+key+'\033[0m', data3)
            print data3 + '\n\n'
        else:
            break

效果展示

網(wǎng)絡(luò)順暢的話,從識(shí)別到返回結(jié)果,整個(gè)過(guò)程2秒左右。其實(shí)還有很多地方值得優(yōu)化的,由于其它原因,只能到此了。


Untitled.gif

項(xiàng)目地址

不要沉迷與答題,偶爾玩玩即可??。github地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容