當前位置:
首頁 > 知識 > 直播答題?Python助你自動搜題之新手篇!

直播答題?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

聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

TAG:python |