0. 环境 iOS 10 + MacOS 10.12 + Python 2.7 1. 思路 APP界面中弹出的题的位置和答案的位置都是固定的,因此我们可以将手机屏幕想办法投到电脑屏幕上,通过OCR识别指定区域,实时打开搜索引擎界面搜索问题,甚至匹配答案。 2. 关键步骤 2.1 投屏 我是iPhone 5s + Mac电脑,可以用Mac的Quicktime Player播放器的屏幕录制功能(安卓据说可以用ADB)。 具体的,打开Quicktime Player后,点击“文件–新建屏幕录制–(红色录制按钮旁的下拉菜单)选择从手机录制”,这时,手机屏幕就实时投到屏幕上了。 2.2 截屏和OCR 截屏 截屏要将你的手机投屏窗口固定在一个位置,找准屏幕上的左上角和右下角两个坐标,利用PIL中的ImageGrab进行抓屏,以截取题干为例,代码如下: from PIL import ImageGrab image = ImageGrab.grab((50, 170, 540, 330)) OCR 利用tesseract库和对应的pytesseract接口进行OCR,具体配置可以参考[1]。 import pytesseract ocr_str = pytesseract.image_to_string(image, lang=’chi_sim’) 2.3 搜索 分两种思路,我们可以直接打开一个浏览器页面用百度搜索,把答案筛选工作交给人: import webbrowser url = “http://www.baidu.com/s?rn=50&wd=” + […]