大麦自动抢票脚本 Automatic_ticket_purchase 实测:3 步部署,下单 3 秒跑完
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
先给结论:这套 Python 大麦自动抢票脚本 Automatic_ticket_purchase 值得完整跑一遍——检测到可购后,"立即购买 + 提交订单"两次请求约3 秒走完,而人工点完同样的流程要 1 分多钟。前提也先说透:README 开头写着项目已停止维护,大部分购买方式已迁到手机端,接口若变更需要自己抓包跟进,下文排错一节会展开。
🧩 为什么它比人手快:登录用浏览器,下单只发请求
脚本快的原因不在代码写得炫,而在分工:Selenium 只做登录,requests 只做下单。可以这样类比——登录是进场馆前的刷闸机,开一次就行,慢几秒无所谓;而抢票是闸口放行的瞬间,人还在找卡槽,脚本已经在闸机后面了。落到技术上,登录阶段用真实浏览器打开大麦登录页,自动填账号密码或等扫码,慢一点没关系;登录一结束,脚本就不再碰浏览器,改为直接对detail.damai.cn、buy.damai.cn的下单接口发 HTTP 请求,页面渲染、按钮点击这些开销全部绕开。
这个分工还有个附带收益:首次登录成功后,cookies 会存到项目根目录的cookies.pkl。下次运行直接读本地文件,登录校验通过就整个跳过浏览器环节,又快几秒。想看完整逻辑,流程图在 README.md 里引用的 images/flow_chart.jpeg。
🛠️ Automatic_ticket_purchase 安装与配置:3 步跑通
装驱动、填参数一共三步,每步都有明确的"做完标志"。
1. 装依赖。克隆仓库后安装全部依赖:
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt依赖共 4 个:beautifulsoup4、requests、selenium、pyexecjs。做完的标志:pip 无报错退出,本地import selenium正常。
2. 放 ChromeDriver。Selenium 要求驱动版本和本机 Chrome 浏览器版本一致:在 Chrome 里打开"帮助 → 关于 Google Chrome"查版本,下载对应版本的驱动,放到项目根目录并按系统重命名——Windows 叫chromedriver_windows,Linux 叫chromedriver_linux,Mac 叫chromedriver_mac。脚本在 tools.py 里会自动识别系统、按文件名选取,不用额外配置。做完的标志:根目录下存在对应平台命名的驱动文件。
3. 改 6 个配置值。打开 Automatic_ticket_purchase.py,在DaMaiTicket类的__init__方法里改:
self.login_id: str = 'account' # 大麦网登录账户名 self.login_password: str = 'password' # 大麦网登录密码 self.item_id: int = 610820299671 # 商品id self.viewer: list = ['viewer1'] # 在大麦网已填写的观影人 self.buy_nums: int = 1 # 购买影票数量, 需与观影人数量一致 self.ticket_price: int = 180 # 购买指定票价其中item_id和viewer两个值最容易被填错,单独说。
item_id 怎么从 URL 里取
打开目标演出的大麦商品详情页,地址栏里id=后面那串数字就是商品ID。注意一个城市站对应一个 ID:抢太原场就不能填北京场的 ID,填错了等于在另一场演出上排队。
viewer 怎么和账号实名对上
登录大麦网,进"我的大麦 → 常用购票人管理","姓名"一列里登记的名字才是脚本能用的名字。脚本里必须逐字一致,多个空格、大小写不同都算不一致;而且viewer里的名字个数必须和buy_nums相等,不等时脚本在启动阶段就会直接退出——这是它在帮你兜底。
🚀 大麦抢票脚本运行流程:哪步要盯人,哪步全自动
启动命令两种:
python Automatic_ticket_purchase.py # 账号密码登录(默认) python Automatic_ticket_purchase.py --mode qr # 扫码登录整条链路拆成三段:
- 登录(首次半自动):优先读本地
cookies.pkl,校验通过直接进下一步;无效才开浏览器走账号或扫码登录,成功后自动存 cookies。首次运行人要在场,以防验证码或扫码;有有效 cookies 后这段全自动。 - 监控 + 立即购买(全自动):脚本循环查询商品信息,读目标价位的按钮状态——"即将开抢"继续轮询,"缺货登记"说明该价位已售空、直接退出,"立即购买"则命中条件,立刻向下单接口发请求拿提交订单所需的信息。全程不用盯着屏幕,轮询间隔在代码里写死为 0.5 秒。选座场次(v2.1 支持)会先按
ticket_price过滤可售座位并自动挑座,暂不支持连坐。 - 提交订单(全自动,支付除外):自动勾选配置好的购票人、带座位信息(选座场次)提交。成功时会打印
alipayOrderId和支付宝支付链接,人去完成最后支付即可。
📊 脚本 vs 手动:耗时差在哪一步
同一条链路各走一遍,大致耗时(人工耗时因人而异,方向稳定):
| 环节 | 人工 | 脚本 |
|---|---|---|
| 登录验证 | 约 45 秒 | 有 cookies 时接近 0,否则约 8 秒 |
| 场次/票价/购票人填写 | 约 30 秒 | 约 2 秒(提前配好) |
| 盯库存等开抢 | 手动刷新页面 | 0.5 秒/次自动轮询 |
| 提交订单 | 约 25 秒 | 约 3 秒 |
差距的本质就一句:人是在等页面、看屏幕,脚本只是在发请求。但也要诚实——脚本把"点击"省了,没把"排队"省了,网络不稳时请求照样在网关处排队,速度优势会打折。
🐛 大麦自动抢票脚本翻车三连:现象、原因、怎么救
1. 驱动版本不匹配。 现象:一运行就崩,报错含糊,常见为session not created或 Chrome 打开后卡死。 原因:ChromeDriver 与本机 Chrome 版本对不上,或文件名没按系统规范重命名。 怎么救:打开"关于 Google Chrome"核对版本,下载同版本驱动替换根目录同名文件再跑。
2. 启动即被拒绝:购买数量与实际观演人数量不符。 现象:脚本一行提示后直接退出,没发任何请求。 原因:viewer的个数和buy_nums不等。 怎么救:两边改到相等再启动,这个检查是故意做的,别绕过它去猜。
3. 提交订单失败:观演人信息不一致。 现象:登录、监控都正常,最后提交时报"请检查输入的观演人信息与大麦网观演人信息是否一致"。 原因:viewer里某个名字和常用购票人登记不完全一致(空格、昵称写法都算)。 怎么救:对着购票人管理页逐字核对;若登录态反复异常,删掉项目目录的cookies.pkl重新走一次登录。
还有一个大前提要直说:项目已停止维护,大麦购买链路正在往手机端迁。哪天出现"获取购买必备参数异常"之类的解析报错,大概率是接口或页面结构变了,需要自己抓包跟进,或者干脆把它当起点来改。
✅ 适用边界与落点
按 MIT 协议提供,仓库定位是个人学习与技术研究,请把请求频率控制在合理范围,别用于囤票这类损害他人购票权益的操作。务实的做法是:先把 6 个配置项和驱动都测稳,确认登录态能读到、监控能轮询,再去等开票时间——到点开枪那 3 秒,才是这套脚本真正值钱的地方。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考