v1.0: 重写核心代码,清理空壳脚本
- 重写 ticket_script.py: 状态机、完整的选票/下单流程、反检测 - 重写 scripts/: 验证码处理、定时调度、NTP校时、多账户管理 - 删除空壳 appium_simulator.py - 清理配置文件中的硬编码密码 - 重写 README,去除虚假宣传
This commit is contained in:
71
README.md
Normal file
71
README.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# 大麦网抢票工具
|
||||
|
||||
基于 Selenium 的大麦网自动抢票脚本,支持定时开抢、多账户并发、验证码处理。
|
||||
|
||||
## 功能
|
||||
|
||||
- **自动抢票**:自动选日期→场次→票价→提交订单
|
||||
- **定时开抢**:NTP 时间校准,精确到毫秒级触发
|
||||
- **多账户**:支持多账号并发抢票
|
||||
- **验证码**:自动检测和处理滑块验证码
|
||||
- **Cookie 持久化**:扫码登录后自动保存/加载 Cookie
|
||||
- **反检测**:隐藏 webdriver 痕迹,移动端模拟
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
# 1. 安装依赖
|
||||
pip install selenium ntplib Pillow
|
||||
|
||||
# 2. 下载 chromedriver(匹配你的 Chrome 版本)
|
||||
# https://googlechromelabs.github.io/chrome-for-testing/
|
||||
|
||||
# 3. 编辑配置
|
||||
cp config/config.json config/my_config.json
|
||||
# 修改 target_url、date、sess、price 等参数
|
||||
|
||||
# 4. 运行(首次需要扫码登录)
|
||||
python ticket_script.py config/my_config.json
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
```json
|
||||
{
|
||||
"date": [1, 2], // 日期优先级序号 (1-based)
|
||||
"sess": [1, 2], // 场次优先级序号 (1-based)
|
||||
"price": [1, 2, 3], // 票价优先级序号 (1-based)
|
||||
"ticket_num": 2, // 购买张数
|
||||
"viewer_person": [1, 2], // 观影人序号 (1-based)
|
||||
"nick_name": "", // 用户昵称
|
||||
"driver_path": "/usr/local/bin/chromedriver",
|
||||
"damai_url": "https://www.damai.cn/",
|
||||
"target_url": "https://m.damai.cn/damai/detail/item.html?itemId=xxx",
|
||||
"max_retries": 180, // 最大重试次数
|
||||
"retry_delay": 0.3 // 重试间隔(秒)
|
||||
}
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
├── ticket_script.py # 核心抢票逻辑
|
||||
├── scripts/
|
||||
│ ├── main.py # 主入口(单/多账户)
|
||||
│ ├── selenium_driver.py # 浏览器驱动工厂
|
||||
│ ├── captcha_solver.py # 验证码检测与处理
|
||||
│ ├── scheduler.py # 定时调度与 NTP 校时
|
||||
│ ├── multi_account_manager.py # 多账户管理
|
||||
│ └── mock_dependency_manager.py # GUI 依赖模拟
|
||||
├── GUI.py # Tkinter 配置界面
|
||||
└── config/
|
||||
├── config.json # 默认配置
|
||||
└── demo_config.json # 示例配置
|
||||
```
|
||||
|
||||
## 说明
|
||||
|
||||
- 首次运行会打开浏览器,需要手动扫码登录
|
||||
- 登录成功后 Cookie 会保存到 `cookies.pkl`,下次自动加载
|
||||
- 支持通过 GUI 界面编辑配置(`python GUI.py`)
|
||||
- 仅限个人学习研究使用
|
||||
Reference in New Issue
Block a user