[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71108":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},71108,"ticket-purchase","WECENG\u002Fticket-purchase","WECENG","大麦自动抢票，支持人员、城市、日期场次、价格选择",null,"Python",6605,817,16,55,0,15,74,171,45,111.74,false,"master",true,[],"2026-06-12 04:00:59","# 大麦抢票自动化系统\n\n一个基于Selenium和Appium的大麦网抢票自动化工具，支持Web端和移动端抢票。\n\n## 🚀 功能特性\n\n- **双端支持**：支持Web端（Selenium）和移动端（Appium）抢票\n- **智能抢票**：自动选择城市、票价、观演人员\n- **高性能**：优化的点击策略，适合抢票场景\n- **可配置**：灵活的配置文件，支持多种演出设置\n- **重试机制**：内置重试逻辑，提高成功率\n\n## 📋 系统要求\n\n### 基础环境\n- **Python**: 3.9+\n- **Node.js**: 20.19.0+ 或 22.12.0+ 或 24.0.0+\n- **操作系统**: macOS \u002F Windows \u002F Linux\n\n### Web端抢票\n- **Chrome浏览器**: 最新版本\n- **ChromeDriver**: 自动下载\n\n### 移动端抢票\n- **Android SDK**: 已配置环境变量\n- **Appium**: 3.1.0+\n- **Android设备**: 真机或模拟器\n\n## 🛠️ 安装指南\n\n### 1. 克隆项目\n```bash\ngit clone \u003Crepository-url>\ncd ticket-purchase\n```\n\n### 2. 安装Python依赖\n```bash\n# 使用Poetry（推荐）\npoetry install\n\n# 或使用pip\npip install -r requirements.txt\n```\n\n### 3. 移动端环境配置（仅移动端抢票需要）\n\n#### 3.1 安装Node.js\n```bash\n# macOS (使用Homebrew)\nbrew install node\n\n# 验证版本（需要20.19.0+）\nnode --version\n```\n\n#### 3.2 安装Appium\n```bash\n# 全局安装Appium\nnpm install -g appium\n\n# 安装UiAutomator2驱动\nappium driver install uiautomator2\n\n# 验证安装\nappium --version\n```\n\n#### 3.3 配置Android环境\n```bash\n# 设置环境变量（添加到 ~\u002F.zshrc 或 ~\u002F.bashrc）\nexport ANDROID_HOME=\u002Fpath\u002Fto\u002Fyour\u002Fandroid\u002Fsdk\nexport ANDROID_SDK_ROOT=\u002Fpath\u002Fto\u002Fyour\u002Fandroid\u002Fsdk\n\n# 验证ADB\nadb devices\n```\n\n## ⚙️ 配置说明\n\n### 移动端配置 (config.jsonc)\n\n```json\n{\n  \"server_url\": \"http:\u002F\u002F127.0.0.1:4723\",\n  \"keyword\": \"刘若英\",\n  \"users\": [\n    \"观演人1\",\n    \"观演人2\"\n  ],\n  \"city\": \"泉州\",\n  \"date\": \"10.04\",\n  \"price\": \"799元\",\n  \"price_index\": 1,\n  \"if_commit_order\": true\n}\n```\n\n#### 配置参数说明\n\n| 参数 | 类型 | 说明 | 示例 |\n|------|------|------|------|\n| `server_url` | string | Appium服务器地址 | `\"http:\u002F\u002F127.0.0.1:4723\"` |\n| `keyword` | string | 搜索关键词 | `\"刘若英\"` |\n| `users` | array | 观演人员名单 | `[\"张三\", \"李四\"]` |\n| `city` | string | 演出城市 | `\"泉州\"` |\n| `date` | string | 演出日期 | `\"10.04\"` |\n| `price` | string | 票价描述 | `\"799元\"` |\n| `price_index` | number | 票价索引（从0开始） | `1` |\n| `if_commit_order` | boolean | 是否自动提交订单 | `true` |\n\n### Web端配置 (config.json)\n\n```json\n{\n  \"index_url\": \"https:\u002F\u002Fwww.damai.cn\u002F\",\n  \"login_url\": \"https:\u002F\u002Fpassport.damai.cn\u002Flogin\",\n  \"target_url\": \"https:\u002F\u002Fdetail.damai.cn\u002Fitem.htm?id=xxx\",\n  \"users\": [\"张三\", \"李四\"],\n  \"city\": \"广州\",\n  \"date\": \"2023-10-28\",\n  \"price\": \"1039\",\n  \"if_commit_order\": true\n}\n```\n\n## 🚀 使用方法\n\n### 移动端抢票（推荐）\n\n#### 1. 启动Android设备\n```bash\n# 启动模拟器\n\u002FUsers\u002Fshengwang\u002FLibrary\u002FAndroid\u002Fsdk\u002Femulator\u002Femulator -avd YourAVDName\n\n# 或连接真机（需开启USB调试）\nadb devices\n```\n\n#### 2. 安装大麦APP\n在Android设备上安装大麦APP，并登录账号。\n\n#### 3. 启动Appium服务器\n```bash\n# 设置环境变量\nexport ANDROID_HOME=\u002FUsers\u002Fshengwang\u002FLibrary\u002FAndroid\u002Fsdk\nexport ANDROID_SDK_ROOT=\u002FUsers\u002Fshengwang\u002FLibrary\u002FAndroid\u002Fsdk\n\n# 启动Appium服务器\nappium --port 4723\n```\n\n#### 4. 配置抢票参数\n编辑 `damai_appium\u002Fconfig.jsonc` 文件，设置：\n- 搜索关键词\n- 观演人员\n- 城市、日期、票价\n- 其他参数\n\n#### 5. 运行抢票脚本\n```bash\ncd damai_appium\nANDROID_HOME=\u002FUsers\u002Fshengwang\u002FLibrary\u002FAndroid\u002Fsdk ANDROID_SDK_ROOT=\u002FUsers\u002Fshengwang\u002FLibrary\u002FAndroid\u002Fsdk python damai_app_v2.py\n```\n\n### Web端抢票\n\n#### 1. 配置参数\n编辑 `damai\u002Fconfig.json` 文件，设置目标演出URL和其他参数。\n\n#### 2. 运行抢票脚本\n```bash\ncd damai\npython damai.py\n```\n\n## 🔧 故障排除\n\n### 常见问题\n\n#### 1. Node.js版本不兼容\n```\nError: Node version must be at least ^20.19.0 || ^22.12.0 || >=24.0.0\n```\n**解决方案**：升级Node.js到兼容版本\n```bash\n# macOS\nbrew upgrade node\n```\n\n#### 2. Android环境变量未设置\n```\nError: Neither ANDROID_HOME nor ANDROID_SDK_ROOT environment variable was exported\n```\n**解决方案**：设置环境变量\n```bash\nexport ANDROID_HOME=\u002Fpath\u002Fto\u002Fandroid\u002Fsdk\nexport ANDROID_SDK_ROOT=\u002Fpath\u002Fto\u002Fandroid\u002Fsdk\n```\n\n#### 3. 设备连接问题\n```\nError: Unable to find an active device or emulator\n```\n**解决方案**：\n- 检查设备连接：`adb devices`\n- 确保设备已开启USB调试\n- 检查Android版本是否匹配\n\n#### 4. Appium连接失败\n```\nError: Connection refused\n```\n**解决方案**：\n- 确保Appium服务器正在运行\n- 检查端口4723是否被占用\n- 验证服务器地址配置\n\n### 调试技巧\n\n#### 1. 检查设备状态\n```bash\n# 检查连接的设备\nadb devices\n\n# 检查设备Android版本\nadb shell getprop ro.build.version.release\n\n# 检查设备是否完全启动\nadb shell getprop sys.boot_completed\n```\n\n#### 2. 验证Appium连接\n```bash\n# 检查Appium服务器状态\ncurl http:\u002F\u002F127.0.0.1:4723\u002Fstatus\n```\n\n#### 3. 查看应用包名\n```bash\n# 查看已安装的应用\nadb shell pm list packages | grep damai\n```\n\n## 📁 项目结构\n\n```\nticket-purchase\u002F\n├── damai\u002F                    # Web端抢票\n│   ├── damai.py             # 主程序\n│   ├── config.py            # 配置类\n│   ├── config.json          # 配置文件\n│   └── requirements.txt      # 依赖文件\n├── damai_appium\u002F             # 移动端抢票\n│   ├── damai_app_v2.py      # 优化版主程序\n│   ├── damai_app.py         # 原版主程序\n│   ├── config.py            # 配置类\n│   ├── config.jsonc         # 配置文件\n│   └── app.md               # 应用说明\n├── tests\u002F                    # 测试文件\n├── doc\u002F                      # 文档\n├── img\u002F                      # 图片资源\n└── README.md                 # 说明文档\n```\n\n## 🎯 使用流程\n\n### 移动端抢票完整流程\n\n1. **环境准备**\n   - 安装Node.js (20.19.0+)\n   - 安装Appium和驱动\n   - 配置Android SDK环境变量\n\n2. **设备准备**\n   - 启动Android模拟器或连接真机\n   - 安装大麦APP并登录\n\n3. **配置参数**\n   - 编辑 `config.jsonc` 文件\n   - 设置演出信息、观演人员等\n\n4. **启动服务**\n   - 启动Appium服务器\n   - 验证设备连接\n\n5. **执行抢票**\n   - 在模拟器上打开大麦APP\n   - 搜索目标演出\n   - 运行抢票脚本\n\n6. **监控结果**\n   - 脚本自动执行抢票流程\n   - 查看控制台输出\n   - 检查订单状态\n\n## ⚠️ 注意事项\n\n1. **合法使用**：请遵守大麦网的使用条款，合理使用自动化工具\n2. **账号安全**：建议使用专门的测试账号\n3. **网络环境**：确保网络连接稳定\n4. **设备性能**：建议使用性能较好的设备进行抢票\n5. **时间设置**：提前设置好抢票时间，确保脚本在开售时间运行\n\n## 🤝 贡献指南\n\n欢迎提交Issue和Pull Request来改进项目。\n\n## 📄 许可证\n\n本项目仅供学习和研究使用，请勿用于商业用途。\n\n---\n\n**最后更新**: 2024年10月\n**版本**: 2.0.0","这是一个基于Selenium和Appium的大麦网抢票自动化工具，支持Web端和移动端抢票。其核心功能包括自动选择城市、票价、观演人员，并具备优化的点击策略以提高抢票成功率。用户可通过灵活的配置文件来设置多种演出参数，内置重试逻辑进一步提升了抢票的成功率。该工具适用于热门演唱会、话剧等文化活动的抢票场景，尤其适合那些需要快速响应且难以手动获取门票的情况。无论是通过电脑还是手机进行操作，都能为用户提供便捷高效的抢票体验。",2,"2026-06-11 03:35:54","high_star"]