日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)

系統(tǒng) 1792 0

2018年1月3日,王思聰被迫動(dòng)用自己的微博,為一個(gè)誕生不到10天的App打了廣告,“每天我都發(fā)獎(jiǎng)金,今晚9點(diǎn)就發(fā)10萬”。對(duì)他而言,這天的微博并非生日宴會(huì),而是戰(zhàn)場(chǎng)。王思聰?shù)囊粍t微博開啟了“全民競(jìng)答”類APP的爆紅之路。

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)_第1張圖片

一時(shí)間,直播巨頭們都跟上“王校長”的節(jié)奏,“沖頂大會(huì)”之外,映客旗下的“芝士超人”、今日頭條旗下的“百萬英雄”和花椒直播旗下的“百萬作戰(zhàn)”紛紛亮相,每天狂撒百萬現(xiàn)金。

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)_第2張圖片

“沖頂大會(huì)”、“芝士超人”、“百萬英雄”等知識(shí)競(jìng)答游戲火了,獎(jiǎng)金數(shù)額也從最初的人民幣5萬、10萬漲到了100萬、101萬。

為了能夠全部答對(duì)12道題,平分?jǐn)?shù)額如此龐大的獎(jiǎng)金池,參賽者開始想方設(shè)法提高自己答題的正確率。

正如節(jié)目主持人介紹的一樣,許多答題者開始尋找身邊的朋友共同答題,以求覆蓋到更多類型的知識(shí)點(diǎn),提高通關(guān)的幾率。

各種各樣的微信、QQ答題群誕生,每個(gè)人都在群聊里分享自己認(rèn)為正確的答案。

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)_第3張圖片

讓你猜不到的是,答題游戲居然也有外掛!

為了能夠全部答對(duì)12道題,平分?jǐn)?shù)額如此龐大的獎(jiǎng)金池,參賽者開始想方設(shè)法提高自己答題的正確率。

已經(jīng)有程序員設(shè)計(jì)了“輔助程序”,用于快速檢索答案。

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)_第4張圖片

這個(gè)用Python程序可以修剪并識(shí)別圖片中的文字內(nèi)容(問題和選項(xiàng)),然后通過百度進(jìn)行搜索關(guān)鍵字出現(xiàn)的次數(shù),最后將統(tǒng)計(jì)的信息展示出來。這樣一來,答題者就可以根據(jù)統(tǒng)計(jì)數(shù)據(jù)來選擇相應(yīng)的答案,極大提高了答題的正確率。

那么程序員到底應(yīng)該如何玩呢?

首先用 WDA 來獲取屏幕截圖。WDA 本是 Facebook 開發(fā)的一套 iOS 測(cè)試框架,前幾天看見大家都用來做微信“跳一跳”的外掛,便特意去了解了一下,發(fā)現(xiàn)也能用在沖頂大會(huì)上。

之后 crop 出題目所在的位置(可能需要適配手機(jī)屏幕),然后調(diào)用開放的 OCR 接口讀取出文字文本,最后調(diào)用搜索引擎,就可以達(dá)到之前 gif 圖的效果。這套環(huán)境是 iOS + Mac,如果是安卓應(yīng)該有更方便的方法。

其實(shí)最初的想法是希望搜索+選擇答案全部自動(dòng)化完成的,思路是 OCR 題目和候選答案,組成三個(gè)組合扔到百度或谷歌里搜索,然后哪個(gè)組合的結(jié)果出現(xiàn)次數(shù)最多就選擇哪個(gè)。試了幾個(gè)問題后發(fā)現(xiàn)并不是這樣,比如上面圖片的“駱駝的駝峰是存儲(chǔ)什么的?”,可能多數(shù)人都會(huì)認(rèn)為是水,因此出現(xiàn)的次數(shù)最多,其實(shí)是錯(cuò)誤答案。

最后還有兩個(gè)痛點(diǎn):

免費(fèi) OCR 接口調(diào)用次數(shù)有限,所以不能一直去截屏識(shí)別,只能等題目出現(xiàn)時(shí)運(yùn)行程序。
官方也很套路,有的問題是沒法搜索的。比如這種:

酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)_第5張圖片

最后附上代碼:

            
# python3
import wda
import io
import urllib.parse
import webbrowser
import requests
import time
import base64
from PIL import Image

c = wda.Client()
# 百度OCR API
api_key = ''
api_secret = ''
token = ''


while True:
  time.sleep(0.5)
  c.screenshot('1.png')
  im = Image.open("./1.png")
  region = im.crop((75, 315, 1167, 789)) # iPhone 7P
  imgByteArr = io.BytesIO()
  region.save(imgByteArr, format='PNG')
  image_data = imgByteArr.getvalue()
  base64_data = base64.b64encode(image_data)
  r = requests.post('https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic',
           params={'access_token': token}, data={'image': base64_data})
  result = ''
  for i in r.json()['words_result']:
    result += i['words']
  result = urllib.parse.quote(result)
  webbrowser.open('https://baidu.com/s?wd='+result)
  break


          

(代碼來源:https://livc.io/blog/204)

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 腾冲县| 额济纳旗| 绥宁县| 大渡口区| 黄冈市| 汤原县| 涡阳县| 富锦市| 平乡县| 定结县| 巫山县| 信阳市| 阿城市| 彩票| 红安县| 温宿县| 双峰县| 莫力| 赣榆县| 六枝特区| 嫩江县| 南阳市| 马龙县| 墨江| 前郭尔| 明星| 中超| 石河子市| 斗六市| 昆明市| 贵定县| 达州市| 修武县| 江都市| 台南市| 西充县| 宁海县| 弥渡县| 柘荣县| 疏勒县| 郧西县|