使用Python制作微信跳一跳輔助
1. 前言
微信的跳一跳相信大家都很熟悉了,而且現(xiàn)在各種外掛、輔助也是滿天飛,反正本人的好友排行榜中已經(jīng)是八九百都不足為奇了。某寶上一搜一堆結(jié)果,最低的居然只要3塊多,想刷多少分就刷多少分,真是離譜。
作為一枚程序猿,我決心也自己搞一下,不為別的,一來為了磨練一下自己的解決問題的能力,而來也為了娛樂一下。像這種任務(wù),最適合的當(dāng)然是Python,豐富的第三方庫,而且具有膠水語言的特點。
本程序的主要設(shè)計思路就是,PC端adb連接手機→截屏→在PC端展示→用戶鼠標(biāo)選取起點和終點→計算距離、時長→adb發(fā)送指令模擬按壓→截屏循環(huán)。
2. ADB
adb,Android Debug Bridge,即安卓調(diào)試橋,包含如下幾個部分:
•Client端, 運行在開發(fā)機器中,即你的開發(fā)PC機,用來發(fā)送adb命令
•Deamon守護進程,運行在調(diào)試設(shè)備中,即的調(diào)試手機或模擬器
•Server端,作為一個后臺進程運行在開發(fā)機器中,即你的開發(fā)PC機,用來管理PC中的Client端和手機的Deamon之間的通信
我們通常用的adb命令指的就是Client端程序。Server端實際上在本機偵聽端口5037,將指令通過usb線/wifi轉(zhuǎn)發(fā)給移動設(shè)備的Deamon進程。
adb命令讀者可以去官方網(wǎng)站查看文檔(http://adbshell.com/commands),這里只介紹用到的幾個命令。
(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è)備下載到本機。 adb pull /sdcard/screen.png
(3) adb shell input swipe模擬滑動操作(長按)
adb shell input swipe 100 100 100 100 500模擬長按坐標(biāo)(100, 100)時長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的知識點。
3. Python
(1) 調(diào)用命令行
Python調(diào)用命令行有多種方式,比較常用的是os.system(cmd)和os.popen(cmd),以及commands.getoutput(cmd),這三者主要區(qū)別在返回值的獲取方面,第一個無法獲得返回值,第二、三個則可以獲取。這里用哪個都可以,因為不需要獲得返回值。
(2) OpenCV
主要用OpenCV做一些圖片縮放等操作,用PIL也是可以的。
(3) Tkinter
主要用到了Button、PhotoImage這兩個Widget。不多說了。
程序的實現(xiàn)是很簡單的,這里處于某些原因就不公開代碼了,主要就是一個細調(diào)參數(shù)的過程。
程序截圖:

下一步的目標(biāo)是,結(jié)合OpenCV和神經(jīng)網(wǎng)絡(luò)實現(xiàn)自動識別、計算距離。
鄭重聲明,本文僅供學(xué)習(xí)、娛樂只用,請勿隨意傳播。
相關(guān)文章
python實現(xiàn)斐波那契遞歸函數(shù)的方法
這篇文章主要介紹了python實現(xiàn)斐波那契遞歸函數(shù)的方法,通過一個非常簡單的遞歸函數(shù)加以實現(xiàn),需要的朋友可以參考下2014-09-09
Python使用matplotlib實現(xiàn)基礎(chǔ)繪圖功能示例
這篇文章主要介紹了Python使用matplotlib實現(xiàn)基礎(chǔ)繪圖功能,結(jié)合實例形式分析了Python基于matplotlib實現(xiàn)正弦、余弦圖形及多軸圖的相關(guān)繪制操作技巧,需要的朋友可以參考下2018-07-07

