衝頂大會是最近很火的一款直播答題遊戲,每天指定時間開放,12 道題,每題 3 個選項,10 秒作答,所有通關者分享獎金(每場獎金五萬元或十萬元),邀請好友可以獲得復活資格。類似的遊戲還有很多比如頭條、映客、花椒直播等都推出了自己的答題遊戲,這類模式的鼻祖是美國去年 8 月上線的 HQ Trivia。
看到這你可能會想,這尼瑪不就是《開心辭典》搬到手機上了嗎?這也能賺錢?沒錯,就是這樣。
我這幾天玩了幾場,經過觀察發現每場人數在三十萬到五十萬之間,現在網際網路流量這麼貴,花幾萬塊錢就能在這麼短時間帶來這麼多使用者,相當值啊。羅振宇在跨年演講時引用了德魯克的一句話:“對創新的最大讚美,莫過於人們說——這太顯而易見了,為什麼我就沒有想到呢?”,我想直播答題就是這樣的現象級創新產品,而且它還有很多非常值得探索的盈利模式。
道高一尺,魔高一丈,我們看看有哪些可以 Hack 的方法。
題目出現再去搜尋肯定是來不及的(除非你單身 40 年的手速),廣大人民的作弊策略也是層出不窮。最簡單的是一群人一起玩,可以利用網路延遲有多幾秒的讀題時間,遇到不會的每個人分開選,這樣你只需要 3^12=531441 臺手機即可通關。還可以使用兩臺裝置,一個手機等主播讀題,另一個利用百度的語音搜尋也能查出答案,但是感覺這種速度要比較慢。
那麼程式設計師應該如何玩呢?
首先用 WDA 來獲取螢幕截圖。WDA 本是 Facebook 開發的一套 iOS 測試框架,前幾天看見大家都用來做微信“跳一跳”的外掛,便特意去了解了一下,發現也能用在衝頂大會上。
之後 crop 出題目所在的位置(可能需要適配手機螢幕),然後呼叫開放的 OCR 介面讀取出文字文字,最後呼叫搜尋引擎,就可以達到之前 gif 圖的效果。這套環境是 iOS + Mac,如果是安卓應該有更方便的方法。
其實最初的想法是希望搜尋+選擇答案全部自動化完成的,思路是 OCR 題目和候選答案,組成三個組合扔到百度或谷歌裡搜尋,然後哪個組合的結果出現次數最多就選擇哪個。試了幾個問題後發現並不是這樣,比如上面圖片的“駱駝的駝峰是儲存什麼的?”,可能多數人都會認為是水,因此出現的次數最多,其實是錯誤答案。
最後還有兩個痛點:
- 免費 OCR 介面呼叫次數有限,所以不能一直去截圖識別,只能等題目出現時執行程式。
- 官方也很套路,有的問題是沒法搜尋的。。比如這種:
附上程式碼,不知大家有沒有更好的想法:
# 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
複製程式碼
Source: livc.io/blog/204