注:此工具僅用於學習.
更新日志[代碼地址: https://github.com/AoperX/qiangcai]
2022年5月28日
圖片掛了,更新一下;
代碼許久沒更新了, 需要學習可以fork;2022年4月13日
又是陪跑的一天, 用接口搶比我們快多了;
用模擬點擊的有點慢,建議github上找其它實現方式.為達學習的目的,我這個博客還會經常更新的;
食物緊缺的小伙伴,建議通過各種渠道加群,老鄉群,街道群,小區群,進行團購,或找鄰居求助.2022年4月12日
1.優化美團/叮咚搶購代碼,並修復Bug
Tips:
2.建議在早上5.55的之前將商品添加到購物車當中;
1.建議早上5.55的時候將我們的代碼跑一邊,第一次跑會消耗一些時間(啟動一些服務),后面啟動就快了;
正文
現在疫情嚴重,尤其是上海地區,美團和叮咚早點6點,8.30都是搶菜的時間.但很多人都搶不到,手都點麻了.所以就根據Python、uiautomator和安卓手機,實現輔助搶菜的功能.
輔助功能依賴於安卓手機,主要實現替代人工點擊,無傾入性.
一. 需要用到的工具
- 安卓手機
- python3.0+以上的環境
- uiautomator2 依賴
- 安卓連接調試工具 adb
- 代碼
二. 安裝環境
1. python3.0的安裝
我用的是windows的windows shell,自帶python. 所以安裝過程就不贅述了.
百度上就能搜到一堆.
小提示:安裝完成python的環境后,需要將其添加到環境變量中.這個也建議去百度上搜;
安裝完成后,進入命令行,輸入python,應該是這個樣子的;
2. 安裝uiautomator2
2.1 在安裝 uiautomator2之前,需要確定pip的工具是否安裝成功.
在命令行中輸入 pip , 出現下圖所示,表示安裝成功了;
2.2. 在經過2.1沒有問題的情況下,繼續輸入 pip install --pre uiautomator2 就會得到下面的圖:
直到出現 successful 的樣子
2.3 繼續安裝 pillow , 在命令行輸入 pip install pillow
我這里顯示已經安裝過了, 在沒有安裝過的機器上, 也會出現下載的過程, 在下載和安裝
完畢后,出現successful 的提示就表示安裝成功了;
2.4 添加adb到環境變量中
打開 系統設置 > 關於 > 下拉找到[高級系統設置] > 環境變量 然后進行配置
配置過程省略.(后面如果有時間做一個配置環境變量的教程出來)
具體百度即可.
注意: 配置完畢后, 在命令行輸入 adb 出現下圖所示,表示安裝成功.
2.5 安裝uiautomator2
在命令行輸入 python -m uiautomator2 init
出現下面的結果表示安裝成功
3. 連接手機調試工具
3.1 一部安卓手機,系統版本越高越好,我也沒有試過低版本的.我的手機是版本是安卓9的.
注意: 對於沒有安卓手機的,可以試試模擬器,但我沒試過.需要的話,可以以后補教程.
3.2 安卓手機開啟 開發者模式
這個默認關閉,有的手機點擊多次安卓版本即可開啟.其余的可以百度搜搜.
開啟完開發者模式后,記得一定要進去,將 USB調試 進行打開.同時打開
USB安裝應用、USB調試 不鎖定屏幕 等開關.
3.3 開始adb服務
在命令行輸入 adb start-server
出現這個證明我們的abd服務開啟成功.
3.4 將手機通過usb連接電腦, 有的手機在連接后需要選擇對應的模式,比如我的手機就需要手動的設置為 文件傳輸模式,每個手機不一樣,具體情況具體對待.
3.5 查看設備號
在命令行輸入 adb devices
這里會在device前面出現一個序列號,這個就是我們需要的東西.
注意: 如果沒有出現,請使用 adb kill-server 和 adb start-server 重新開啟服務. 直到輸入adb devices 獲取到序列號為止. 因為這個號, 不僅表示我們的手機成功的連接到電腦上,同時也表示我們的手機可以通過代碼來做相應的操作.
4.設置代碼
- 代碼地址:
https://github.com/AoperX/qiangcai
將對應的 序列號 換為我們剛剛獲取到的設備號.
5.開始搶菜
- 打開對應的美團/叮咚頁面,在添加相應的商品到購物車后, 需要保持在購物車頁面(顯示 結算 按鈕的頁面)
- 在電腦上存放我們 meituan.py 文件的地方右鍵 在此處運行命令行
- 在執行代碼的過程中,手機會自動安裝各種軟件,注意: 這個是輔助插件,這個是 uiautomator2 自帶的調試工具.請放心安裝.
輸入 python meituan.py 此時電腦會在運行代碼,同時觀察手機,會出現多個需要安裝輔助插件(這個插件是 uiautomator2 需要使用的,與我無關)的提示,我們點擊繼續安裝即可. 插件安裝完畢后. 觀察手機就會在自動搶菜了.
2. 叮咚類似操作;
備注:
- 在第一次連接手機后,運行 python 代碼的時候, 會在手機上安裝一些插件, 這些插件的安裝需要我們在手機上手動的點擊安裝才可以. 點擊安裝后 會在手機上有一個 ATX 的應用;
- 如果運行python代碼后出現錯誤,這個時候檢查我們的手機是否成功安裝了 ATX 的應用. 同時再去檢查 開發者模式 中的 允許USB調試, 允許USB安裝軟件 的開關都打開了;