歡迎光臨
每天分享高質量文章

直播答題?Python助你自動搜題之新手篇!

1. 獲取手機直播答題介面截圖

註意:我們這裡只關註題目,不管選項,透過搜尋題目內容獲取輔助線索,所以截圖我們只定位在顯示題目的位置就足夠了,這樣圖片中讀取文字的速度快精度也高一些,例如中午1點直播答題測試時截圖第六題:

2. 讀取截圖中的題目文字內容

這裡我們在shell處將讀取到的題目內容輸出展示,同時也顯示程式碼耗時:

3. 開啟瀏覽器執行對題目搜尋

單論每一步,實現方法有很多,但考慮到時間,我們只選取耗時儘量少的方法來實現各部分功能。經過1月11日中午1點百萬英雄直播答題時的測試,網路良好時,搜完結果剩餘答題時間仍有5秒,完全達到預期效果

B 下載相關功能包:由於我也算是剛入門的新手,基本各種功能模組都是按著搜來的網上教程來的,所以大家只要能保證各個模組都配好,最終程式跑通還是不難的。

執行程式碼時,我用的是Windows10系統電腦,Python3.6,安卓手機資料線連電腦。

1. 無論什麼手機、電腦系統,要做的是實現把手機螢幕內容實時顯示在電腦螢幕上,我是用的360手機助手的’演示’功能完成了對安卓和windows的連線,其餘型號手機電腦可以自己搜一下來解決。

2. 接下來我們透過電腦截圖來實現擷取螢幕上手機直播內容,由於Windows API獲取截圖的耗時極少,我們選擇了它。由於Python沒有自帶訪問windows系統API的庫,需要下載pywin32庫來實現,pip 安裝的命令是: pip install pypiwin32(註意安裝時是pypiwin32,不是pywin32)。這裡關於windows透過python截圖函式

3. 拿到題目的截圖後,要完成對題目中文字的讀取,就需要安裝PIL和pytesseract,同時還需要簡體中文識別的引擎包tesseract-ocr,相關安裝檢測參考連結:Python人工智慧之圖片識別,Python3一行程式碼實現圖片文字識別 註意:安裝引擎包時最好按照連結中儲存到C盤相似的路徑,我和朋友安到E盤都有報錯,也沒搞清具體原因,把檔案剪下到C盤就解決了。另外,請官方下載最新版或者透過我這網盤分享的4.0.0版本的,連結中的版本有點低,準確率也較差

4. 開啟瀏覽器的時webbrowser模組,自帶不用下載。

C 接下來是校準工作,調整程式碼中w,h值來改變截圖大小,(20,140)處的兩個值改變截圖初始位置坐標,對應著你個人手機螢幕在電腦螢幕中的顯示位置,調整以上的值使截圖恰好落在手機屏上直播時顯示題目的位置。

D 程式碼解析

作者:TED

源自:https://zhuanlan.zhihu.com/p/32852775

宣告:文章著作權歸作者所有,如有侵權,請聯絡小編刪除


贊(0)

分享創造快樂