為什麼要做這個呢? 鑒於之前已經有同學實現了自動挖掘抖音美女的案例,所以這個想法終於有了一絲付諸實踐的曙光,潘老師和這位同學一樣使用了Python+ADB的方式來實現。 Python大家都很熟悉,人生苦短,我用Python。 進群:548377875 即可獲取數十套PDF哦! adb shell g ...
為什麼要做這個呢?
鑒於之前已經有同學實現了自動挖掘抖音美女的案例,所以這個想法終於有了一絲付諸實踐的曙光,潘老師和這位同學一樣使用了Python+ADB的方式來實現。
Python大家都很熟悉,人生苦短,我用Python。
進群:548377875 即可獲取數十套PDF哦!
adb shell getevent
這時cmd會等待點擊。
我點擊了鍵盤上a字母的位置,cmd給出了以下信息。找到下麵的信息,最後括弧位置的十六進位數就是坐標,換算成十進位即可。
/dev/input/event4: 0003 0035 (X坐標)
/dev/input/event4: 0003 0036 (Y坐標)
自動點贊
首先,ADB語句控制點擊屏幕上某一點的指令是:
adb shell input tap 123 456
其中的123 456是點擊位置的坐標,這個坐標可以通過上一節方式獲取。經過測試,淘寶直播的右下角點贊按鈕坐標大概是(1015, 1730)。
實際測試一下,我們先使用這個方法點一點鍵盤上的a字母看看:
嗯還是可以的。
檢測有沒有抽獎
獲取屏幕
ADB截取屏幕的指令是:
adb shell screencap -p /sdcard/autolottery.png
其中-p後面接的是存放的路徑和文件名。
截圖預處理
由於直接拿來截圖進行文本識別,正確率較低(經過測試實際是非常低了),所以需要對源圖像處理一下。這裡需要安裝opencv和pillow。
首先裁剪出文本區域,儘量去除干擾。
原圖:
處理後:
文本識別
二話不說,直接懟百度的文本識別。百度畢竟是漢語起家,識別漢語的準確度還是很高的。
字元串與子串
這種基本演算法.就不需要解釋很多了,送分題。
因為目前時間主播還沒有開播,所以先自己拿備忘錄打幾個字試試。
實際測試
可悲的事情發生了,測試的時候發現主播已經調整了抽獎方式,多數獎品用隨機放出的“狂戳福利按鈕”送出了,晚上只出了一次刷屏抽獎的方法。所以,這件事情告訴我們,產品研發就是在和時間賽跑。
所以,下次開發自動檢測“狂戳福利按鈕”並自動狂戳的外掛?
實際測試效果(關鍵字:“有草”):
在這個外掛的輔助下,潘老師還是沒有抽到獎,也許這就是,非命不改。
總結