叮咚/買團搶菜自動下單輔助工具 Update=2022-04-13


## 基於Python 與 uiautomator2的搶菜自動下單工具

:此工具僅用於學習.

更新日志[代碼地址: 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和安卓手機,實現輔助搶菜的功能.

輔助功能依賴於安卓手機,主要實現替代人工點擊,無傾入性.

一. 需要用到的工具

  1. 安卓手機
  2. python3.0+以上的環境
  3. uiautomator2 依賴
  4. 安卓連接調試工具 adb
  5. 代碼

二. 安裝環境

1. python3.0的安裝

我用的是windows的windows shell,自帶python. 所以安裝過程就不贅述了.
百度上就能搜到一堆.
小提示:安裝完成python的環境后,需要將其添加到環境變量中.這個也建議去百度上搜;
安裝完成后,進入命令行,輸入python,應該是這個樣子的;
image.png

2. 安裝uiautomator2

2.1 在安裝 uiautomator2之前,需要確定pip的工具是否安裝成功.
在命令行中輸入 pip , 出現下圖所示,表示安裝成功了;
image.png

2.2. 在經過2.1沒有問題的情況下,繼續輸入 pip install --pre uiautomator2 就會得到下面的圖:
image.png
直到出現 successful 的樣子
image.png
2.3 繼續安裝 pillow , 在命令行輸入 pip install pillow
image.png
我這里顯示已經安裝過了, 在沒有安裝過的機器上, 也會出現下載的過程, 在下載和安裝
完畢后,出現successful 的提示就表示安裝成功了;
2.4 添加adb到環境變量中
打開 系統設置 > 關於 > 下拉找到[高級系統設置] > 環境變量 然后進行配置
配置過程省略.(后面如果有時間做一個配置環境變量的教程出來)
具體百度即可.
注意: 配置完畢后, 在命令行輸入 adb 出現下圖所示,表示安裝成功.
image.png
2.5 安裝uiautomator2
在命令行輸入 python -m uiautomator2 init
image.png
出現下面的結果表示安裝成功
image.png

3. 連接手機調試工具

3.1 一部安卓手機,系統版本越高越好,我也沒有試過低版本的.我的手機是版本是安卓9的.
注意: 對於沒有安卓手機的,可以試試模擬器,但我沒試過.需要的話,可以以后補教程.
3.2 安卓手機開啟 開發者模式
這個默認關閉,有的手機點擊多次安卓版本即可開啟.其余的可以百度搜搜.
開啟完開發者模式后,記得一定要進去,將 USB調試 進行打開.同時打開
USB安裝應用USB調試 不鎖定屏幕 等開關.
3.3 開始adb服務
在命令行輸入 adb start-server
image.png
出現這個證明我們的abd服務開啟成功.
3.4 將手機通過usb連接電腦, 有的手機在連接后需要選擇對應的模式,比如我的手機就需要手動的設置為 文件傳輸模式,每個手機不一樣,具體情況具體對待.

3.5 查看設備號
在命令行輸入 adb devices
image.png
這里會在device前面出現一個序列號,這個就是我們需要的東西.
注意: 如果沒有出現,請使用 adb kill-server 和 adb start-server 重新開啟服務. 直到輸入adb devices 獲取到序列號為止. 因為這個號, 不僅表示我們的手機成功的連接到電腦上,同時也表示我們的手機可以通過代碼來做相應的操作.

4.設置代碼

  1. 代碼地址:
    https://github.com/AoperX/qiangcai
    將對應的 序列號 換為我們剛剛獲取到的設備號.

5.開始搶菜

  1. 打開對應的美團/叮咚頁面,在添加相應的商品到購物車后, 需要保持在購物車頁面(顯示 結算 按鈕的頁面)
  2. 在電腦上存放我們 meituan.py 文件的地方右鍵 在此處運行命令行
  3. 在執行代碼的過程中,手機會自動安裝各種軟件,注意: 這個是輔助插件,這個是 uiautomator2 自帶的調試工具.請放心安裝.

image.png

輸入 python meituan.py 此時電腦會在運行代碼,同時觀察手機,會出現多個需要安裝輔助插件(這個插件是 uiautomator2 需要使用的,與我無關)的提示,我們點擊繼續安裝即可. 插件安裝完畢后. 觀察手機就會在自動搶菜了.
2. 叮咚類似操作;

備注:

  1. 在第一次連接手機后,運行 python 代碼的時候, 會在手機上安裝一些插件, 這些插件的安裝需要我們在手機上手動的點擊安裝才可以. 點擊安裝后 會在手機上有一個 ATX 的應用;
  2. 如果運行python代碼后出現錯誤,這個時候檢查我們的手機是否成功安裝了 ATX 的應用. 同時再去檢查 開發者模式 中的 允許USB調試, 允許USB安裝軟件 的開關都打開了;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM