使用Python制作微信跳一跳輔助
1. 前言
微信的跳一跳相信大家都很熟悉了,而且現(xiàn)在各種外掛、輔助也是滿天飛,反正本人的好友排行榜中已經(jīng)是八九百都不足為奇了。某寶上一搜一堆結(jié)果,最低的居然只要3塊多,想刷多少分就刷多少分,真是離譜。
作為一枚程序猿,我決心也自己搞一下,不為別的,一來為了磨練一下自己的解決問題的能力,而來也為了娛樂一下。像這種任務(wù),最適合的當(dāng)然是Python,豐富的第三方庫(kù),而且具有膠水語言的特點(diǎn)。
本程序的主要設(shè)計(jì)思路就是,PC端adb連接手機(jī)→截屏→在PC端展示→用戶鼠標(biāo)選取起點(diǎn)和終點(diǎn)→計(jì)算距離、時(shí)長(zhǎng)→adb發(fā)送指令模擬按壓→截屏循環(huán)。
2. ADB
adb,Android Debug Bridge,即安卓調(diào)試橋,包含如下幾個(gè)部分:
•Client端, 運(yùn)行在開發(fā)機(jī)器中,即你的開發(fā)PC機(jī),用來發(fā)送adb命令
•Deamon守護(hù)進(jìn)程,運(yùn)行在調(diào)試設(shè)備中,即的調(diào)試手機(jī)或模擬器
•Server端,作為一個(gè)后臺(tái)進(jìn)程運(yùn)行在開發(fā)機(jī)器中,即你的開發(fā)PC機(jī),用來管理PC中的Client端和手機(jī)的Deamon之間的通信
我們通常用的adb命令指的就是Client端程序。Server端實(shí)際上在本機(jī)偵聽端口5037,將指令通過usb線/wifi轉(zhuǎn)發(fā)給移動(dòng)設(shè)備的Deamon進(jìn)程。
adb命令讀者可以去官方網(wǎng)站查看文檔(http://adbshell.com/commands),這里只介紹用到的幾個(gè)命令。
(1) adb devices列出所有連接的模擬器/設(shè)備
Prints a list of all attached emulator/device adb devices In response, return serial number and state e4b25377 device emulator-5554 device
(2) adb shell screencap截屏
taking a screenshot of a device display. adb shell screencap <filename> adb shell screencap /sdcard/screen.png download the file from the device將文件從設(shè)備下載到本機(jī)。 adb pull /sdcard/screen.png
(3) adb shell input swipe模擬滑動(dòng)操作(長(zhǎng)按)
adb shell input swipe 100 100 100 100 500模擬長(zhǎng)按坐標(biāo)(100, 100)時(shí)長(zhǎng)500ms C:\Documents and Settings\Administrator>adb shell root@NX403A:/ # input input Usage: input [<source>] <command> [<arg>...] The sources are: trackball joystick touchnavigation mouse keyboard gamepad touchpad dpad stylus touchscreen The commands and default sources are: text <string> (Default: touchscreen) keyevent [--longpress] <key code number or name> ... (Default: keyboard) tap <x> <y> (Default: touchscreen) swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) press (Default: trackball) roll <dx> <dy> (Default: trackball)
好了,以上是本次所需adb的知識(shí)點(diǎn)。
3. Python
(1) 調(diào)用命令行
Python調(diào)用命令行有多種方式,比較常用的是os.system(cmd)和os.popen(cmd),以及commands.getoutput(cmd),這三者主要區(qū)別在返回值的獲取方面,第一個(gè)無法獲得返回值,第二、三個(gè)則可以獲取。這里用哪個(gè)都可以,因?yàn)椴恍枰@得返回值。
(2) OpenCV
主要用OpenCV做一些圖片縮放等操作,用PIL也是可以的。
(3) Tkinter
主要用到了Button、PhotoImage這兩個(gè)Widget。不多說了。
程序的實(shí)現(xiàn)是很簡(jiǎn)單的,這里處于某些原因就不公開代碼了,主要就是一個(gè)細(xì)調(diào)參數(shù)的過程。
程序截圖:
下一步的目標(biāo)是,結(jié)合OpenCV和神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)自動(dòng)識(shí)別、計(jì)算距離。
鄭重聲明,本文僅供學(xué)習(xí)、娛樂只用,請(qǐng)勿隨意傳播。
相關(guān)文章
python實(shí)現(xiàn)某考試系統(tǒng)生成word試卷
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)某考試系統(tǒng)生成word試卷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Python中的條件判斷語句與循環(huán)語句用法小結(jié)
這篇文章主要介紹了Python中的條件判斷語句與循環(huán)語句用法小結(jié),條件語句和循環(huán)語句是Python程序流程控制的基礎(chǔ),需要的朋友可以參考下2016-03-03Python報(bào)錯(cuò)TypeError: unsupported operand的問題分析和解決方法
TypeError: unsupported operand 是Python中常見的一類錯(cuò)誤,通常在嘗試對(duì)不兼容的數(shù)據(jù)類型進(jìn)行操作時(shí)發(fā)生,比如,當(dāng)你嘗試對(duì)字符串和整數(shù)進(jìn)行加法操作時(shí),Python會(huì)拋出這一錯(cuò)誤,所以本文給大家介紹了Python報(bào)錯(cuò)TypeError: unsupported operand的問題解決2024-09-09Python基于wordcloud及jieba實(shí)現(xiàn)中國(guó)地圖詞云圖
這篇文章主要介紹了Python基于wordcloud及jieba實(shí)現(xiàn)中國(guó)地圖詞云圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06TensorFlow人工智能學(xué)習(xí)張量及高階操作示例詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)張量及高階操作的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11基于Python實(shí)現(xiàn)通過微信搜索功能查看誰把你刪除了
這篇文章主要介紹了基于Python實(shí)現(xiàn)微信搜索查看誰把你刪除了的相關(guān)資料,需要的朋友可以參考下2016-01-01python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解
這篇文章主要介紹了python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁(yè)數(shù)爬取圖片方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08使用Python進(jìn)行二進(jìn)制文件讀寫的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)硪黄褂肞ython進(jìn)行二進(jìn)制文件讀寫的簡(jiǎn)單方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09