教你巧玩 [沖頂大會] 答題類游戲

這兩天沖頂大會之類的直播答題 APP 突然火了起來梅鹦,不得不佩服互聯(lián)網(wǎng)公司的想象力,那么程序員怎么用不同的方式玩轉(zhuǎn)答題游戲呢。之前微信的跳一跳小游戲刷爆朋友圈桑谍,已經(jīng)有很多朋友寫出了自動化的腳本輔助,一看到答題游戲就馬上想到可以用類似的方式來寫一個簡單的腳本祸挪。代碼思路簡單锣披,可以用在各類答題游戲中。因為時間贿条、搜索結(jié)果等原因雹仿,使用文字識別搜索,能提供的輔助作用有限整以。

screenshot.PNG

具體代碼和環(huán)境及使用請戳https://github.com/Skyexu/TopSup
隨手 Star ^ ^

靈感來自:

微信跳一跳輔助

程序員如何玩轉(zhuǎn)《沖頂大會》胧辽?

具體做法

  1. 使用 ADB 獲取手機截屏
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png .
  1. OCR 識別題目與選項文字
    分別通過代碼截取題目區(qū)域與選項區(qū)域,再進行文字識別


    cut.png

文字識別兩個方法:

  • 谷歌 Tesseract 公黑,安裝軟件即可邑商,不同電腦配置運行效率不同

  • 百度 OCR ,需要注冊百度 API帆调,每天調(diào)用次數(shù)有限

  1. 搜索判斷

結(jié)果判斷方式

  1. 直接打開瀏覽器搜索問題


    result.png
  2. 題目+每個選項都通過搜索引擎進行搜索奠骄,從網(wǎng)頁代碼中提取搜索結(jié)果的數(shù)目

  3. 只用題目進行搜索,統(tǒng)計結(jié)果頁面代碼中包含選項的詞頻

以下為兩個示例結(jié)果番刊,可以看出下面兩道題含鳞,兩個方法有不同的結(jié)果,可以根據(jù)問題類型進行不同的決策芹务。

result2.png
result3.png

參考了 I Hacked HQ Trivia But Here’s How They Can Stop Me

主要代碼

驗證思路的主要代碼是實現(xiàn)截圖蝉绷,識別,調(diào)用瀏覽器搜索枣抱。其實很簡單,具體可以參考我的 github 庫中簡單版本代碼

def pull_screenshot():
    os.system('adb shell screencap -p /sdcard/screenshot.png')
    os.system('adb pull /sdcard/screenshot.png .')

pull_screenshot()
img = Image.open("./screenshot.png")

# 切割題目位置熔吗,左上角坐標(biāo)和右下角坐標(biāo),自行測試分辨率
question = img.crop((50, 350, 1000, 560)) # 堅果 pro1
choices = img.crop((75, 535, 990, 1150))
#region = img.crop((75, 315, 1167, 789)) # iPhone 7P

# tesseract 路徑
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'
# 語言包目錄
tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'

# lang 指定中文簡體
text = pytesseract.image_to_string(question, lang='chi_sim', config=tessdata_dir_config)
text = text.replace("\n", "")[2:]

print(text)
webbrowser.open('https://baidu.com/s?wd='+text)

總結(jié)

寫完簡單版本想一想,怕是還沒有 Hi ,Siri來的方便佳晶,不過好在識別準(zhǔn)確桅狠,查詢快,后來又加了幾個方法輔助決策。文字識別加搜索中跌,在這類游戲中效果很有限咨堤,這類問答題想要實現(xiàn)完全對,可能得存儲題庫了漩符,不過這就太費時間了一喘。有了 ADB 截圖,怕是各種小輔助都可以玩了, 大家可以發(fā)揮想象力嗜暴。python 寫小腳本真的很方便凸克。接下來可以嘗試文字識別后 nlp 處理一下關(guān)系,然后搜索不同選擇結(jié)果闷沥,增加準(zhǔn)確率等等萎战。不玩了不玩了,得寫 paper 去了舆逃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撞鹉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颖侄,更是在濱河造成了極大的恐慌鸟雏,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件览祖,死亡現(xiàn)場離奇詭異孝鹊,居然都是意外死亡,警方通過查閱死者的電腦和手機展蒂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門又活,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锰悼,你說我怎么就攤上這事柳骄。” “怎么了箕般?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵耐薯,是天一觀的道長。 經(jīng)常有香客問我丝里,道長曲初,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任杯聚,我火速辦了婚禮臼婆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幌绍。我一直安慰自己颁褂,他們只是感情好故响,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颁独,像睡著了一般被去。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奖唯,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音糜值,去河邊找鬼丰捷。 笑死,一個胖子當(dāng)著我的面吹牛寂汇,可吹牛的內(nèi)容都是我干的病往。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼骄瓣,長吁一口氣:“原來是場噩夢啊……” “哼停巷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起榕栏,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤畔勤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扒磁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庆揪,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年妨托,在試婚紗的時候發(fā)現(xiàn)自己被綠了缸榛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡兰伤,死狀恐怖内颗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情敦腔,我是刑警寧澤均澳,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站符衔,受9級特大地震影響负懦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柏腻,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一纸厉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧五嫂,春花似錦颗品、人聲如沸肯尺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽则吟。三九已至,卻和暖如春锄蹂,著一層夾襖步出監(jiān)牢的瞬間氓仲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工得糜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留敬扛,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓朝抖,卻偏偏與公主長得像啥箭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子治宣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,478評論 6 427
  • 原文鏈接: http://www.reibang.com/p/9c6ae64a1bd7 GitHub 上有一個 A...
    李紹俊閱讀 6,102評論 0 92
  • GitHub 上有一個 Awesome - XXX 系列的資源整理,資源非常豐富急侥,涉及面非常廣。awesome-p...
    若與閱讀 18,643評論 4 418
  • Python常用庫大全侮邀,看看有沒有你需要的坏怪。 環(huán)境管理 管理 Python 版本和環(huán)境的工具 p – 非常簡單的交...
    XDgbh閱讀 15,862評論 4 147
  • 環(huán)境管理管理Python版本和環(huán)境的工具。p–非常簡單的交互式python版本管理工具绊茧。pyenv–簡單的Pyth...
    MrHamster閱讀 3,792評論 1 61