# 叮咚抢菜脚本
上海疫情封控期间,市民们流行起“抢菜”的生活方式。作为一名开发人员,自然用技术手段代替手速,于是就有了这个脚本。起初只为自用,得知“五・一”之后仍有很多朋友买不到菜,线上“抢菜”依然紧张,因此便将脚本分享出来,并撰写了这份小白都能读懂的教程,供大家自由使用。
#### 适用情形:
- Mac OS + iOS
- Mac OS / Windows + Android
请依照本教程逐步操作,遇到问题欢迎在 **[Issues](https://gitee.com/arnie/dingdong-grabber/issues)** 中交流。
如果这个脚本对您有帮助,可以赞赏支持,谢谢!
## 原理说明
将移动设备连接至电脑,以自动化测试的方式在设备上模拟点击,从而实现自动“抢菜”。与发送HTTP请求方式所不同的是不需要定期查看和更新 Cookie 信息,操作难度较低。
## 使用方法
### 一、搭建环境
#### 运行环境
- Mac OS + iOS: **Python + Xcode + WDA**
- Mac OS / Windows + Android: **Python + ADB**
请根据您的使用情形,选择搭建相应的运行环境。以下是相关软件的安装方法。
#### 安装 `Python`
- Mac OS:
如果已经安装有Homebrew,打开**终端**执行以下指令安装即可。
```sh
brew install python
```
如果未安装Homebrew,请通过以下代码安装,完成后再按上述方法安装 `Python`。
```sh
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
```
- Windows:
1. 根据您的 Windows 版本(64位还是32位),从 [Python 官网](https://www.python.org/downloads/windows/) 下载相应的安装程序。
2. 双击 exe 文件进行安装,特别要注意勾上 “Add Python 3.x to PATH”,然后点击 `Install Now` 即可。
#### 安装 `Xcode`
在 Mac 电脑的 **App Store** 上搜索 “Xcode” 进行安装即可。
#### 安装 `WDA`
请阅读👉 [WebDriverAgent 的安装与运行](help/WDA.md)
#### 安装 `ADB`
请阅读👉 [ADB 的安装与运行](help/ADB.md)
### 二、初始化脚本
1. 克隆(下载)此抢菜脚本到本地,进入 “dingdong-grabber” 目录:
```sh
# 假设 “dingdong-grabber” 在你的 Mac OS 桌面
cd ~/Desktop/dingdong-grabber
```
2. 安装依赖:
```sh
pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple/
```
(Windows 用户请将 “pip3” 改为 “pip”)
3. 连接设备
- iOS
1. WDA 安装并成功配置后,在 **Xcode** 运行 **Test** (快捷键:`⌘ + u`)。
2. 打开 `grabber.py` 文件,设置 `driver_url` 变量:
```python
# WebDriver URL (仅用于iOS)
driver_url = '您所获取的 Server URL'
```
- Android
1. 使 Android 手机进入 **开发者模式**,并打开 **开发者选项**,开启以下开关:
- USB 调试
- USB 安装
- USB调试 (安全设置)
2. USB 连接方式设置为:
- 设备文件管理 (MTP)
3. 将手机通过 USB 数据线连接至电脑,若出现弹窗请选择 `USB 用于 传输文件`。
4. 查看连接的设备列表:
```sh
adb devices
```
> “List of devices attached” 的下方为设备列表信息,左侧是设备编号。
5. 在设备上安装 **atx-agent**:
```sh
python3 -m uiautomator2 init
```
(Windows 用户请将 “python3” 改为 “python”)
> 此时设备上将会安装上一款 **ATX** 应用。
### 三、“抢菜”
1. **设置默认设备**
打开 `grabber.py` 文件,设置 `device_name`、`device_code` 变量:
```python
# 默认设备名称: iOS 或 Android
device_name = '您的设备类型'
# 默认设备编号: iOS UDID 或 Android的设备号
device_code = '您的设备编号'
```
2. **执行抢菜脚本**
在叮咚买菜app中选购商品,进入购物车页面,准备“抢菜”。
- 默认设备“抢菜”
```sh
python3 grabber.py
```
- 自定义“抢菜”
```sh
python3 grabber.py --device=设备类型 --code=设备编码
```
> **注:**
> Windows 用户请将以上指令中的 “python3” 改为 “python”;
> 如果电脑已经连接多台设备,且已经安装相应的运行环境,可通过自定义“抢菜”指令实现多设备同时运行。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
抢菜脚本程序项目源码,上 海 疫 情 封 控 期间,城市流行起“抢菜”的生活方式,于是就有了这个抢菜脚本,兼容 iOS、Android,支持多台设备同时“抢菜”。起初只为自用,得知仍有很多朋友买不到菜,线上“抢菜”依然紧张,因此便将脚本分享出来,并撰写了这份小白都能读懂的教程,供大家自由使用。内附使用说明,安装教程,小白操作自由,无难度 说明 将移动设备连接至电脑,以自动化测试的方式在设备上点击,从而实现自动“抢菜”。操作难度较低。 使用方法平台限制字数,仅复制部分内容 一、搭建环境 运行环境 Mac OS + iOS: Python + Xcode + WDA Mac OS / Windows + Android: Python + ADB 请根据您的使用情形,选择搭建相应的运行环境。以下是相关软件的安装方法。 安装 Python Mac OS: 如果已经安装有Homebrew,打开终端执行以下指令安装即可。 brew install python 如果未安装Homebrew,请通过以下代码安装,完成后再按上述方法安装 Python。
资源推荐
资源详情
资源评论
收起资源包目录
抢菜脚本.zip (21个子文件)
dingdong-grabber-master
.gitignore 30B
README.md 4KB
help
screenshot-6.jpg 111KB
ADB.md 2KB
screenshot-8.jpg 133KB
screenshot-3.jpg 158KB
screenshot-4.jpg 236KB
screenshot-2.jpg 150KB
WDA.md 2KB
screenshot-7.jpg 62KB
screenshot-9.jpg 102KB
screenshot-5.jpg 126KB
screenshot-1.jpg 162KB
LICENSE 1KB
requirements.txt 75B
android-platform-tools
platform-tools-darwin.zip 12.52MB
platform-tools-windows.zip 6.04MB
grabber.py 10KB
sounds
start.mp3 82KB
fail.mp3 21KB
success.mp3 182KB
共 21 条
- 1
资源评论
程序员张小妍
- 粉丝: 1w+
- 资源: 2645
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功