[网络爬虫] 网络爬虫实践:大麦网演唱会预约抢票 【待续】
目录
1 人工最优抢票流程
人工最优抢票流程,也是爬虫程序抢票流程的最优流程。
1. 提前准备事项:
设置登录密码、邮箱、解绑淘宝,账号绑定中只绑定【支付宝】
操作路径:我的-账号安全-登录密码、邮箱设置
提前设置好观演人、收货地址
操作路径:我的-服务-观演人、收货地址
注意事项:
若绑定了多个观演人信息,记得把多余的先删掉,只留下【确定要去的观演人信息】
地址,同理,提前填好,并设置为【默认地址】
提前设置好【抢票攻略】:
1、预约场次和票档
注意事项:提前预约想看的场次(xx月xx日 xx:00)、票档,抢票时会自动勾选
2、预约抢票提醒
3、预选本次实名观演人
2. 开抢前10分钟,重启手机,只打开:大麦网APP(抢票等待页面)、支付宝APP
大麦网APP : 页面流程
抢票等待页面 := 演唱会详情页
不用退出抢票页面,可以刷新几遍,等待抢票的倒计时
页面下方的倒计时为0时,右下角的【预约抢票按钮】会自动变成【立即抢票】,此时点击进去即可,不用退出重进
抢票确定页面
注意事项:本页面含场次、票档、数量、价格、价格明细(汇总)等信息、【确定】按钮
操作路径:抢票等待页面-抢票确定页面
提交订单按钮
注意事项:
本页面的标题:确认订单;本页面含演唱会的场次、票档、观演人(列表)、配送方式、支付方式、价格(汇总)等信息;【提交订单】按钮
本页面进入/刷新不成功时,大概率可能出现【努力刷新】字样的按钮,此时不要退出,一直持续点击【努力刷新】按钮
在本页面点击【提交订单】按钮时,可能出现"同一时间下单人数太多,建议您稍后再试、【返回】、【继续尝试】"弹窗,就一直点击【继续尝试】
直至提交订单成功后,会出现含【我知道了】按钮的弹窗
操作路径:抢票等待页面-抢票确定页面-提交订单(-发起支付宝支付唤醒页面)
2 爬虫脚本(Python版) // TODO
2.0 核心依赖
pickle
pickle是Python的标准库之一,它提供了一种序列化和反序列化Python对象的方式。在Python中,pickle模块允许我们将对象转换为字节流,以便在文件中文件中存储或在网络上传输。要使用pickle,我们无需单独安装它,因为它在Python的标准库中已经包含了。
2.1 核心API分析
抢票确定
- API1
GET https://mtop.damai.cn/h5/mtop.damai.wireless.follow.relation.update/1.2/?jsv=2.7.2&appKey=12574478&t=1714810094347&sign=cb66912e3b7b44d421a8c2830473fe55&api=mtop.damai.wireless.follow.relation.update&v=1.2&ecode=1&H5Request=true&type=originaljson&timeout=10000&dataType=json&valueType=original&forceAntiCreep=true&AntiCreep=true&useH5=true&data=%7B%22operateType%22%3A1%2C%22targetId%22%3A%225534397471551%22%2C%22targetType%22%3A%2210%22%2C%22dmChannel%22%3A%22damai%40damaih5_h5%22%2C%22platform%22%3A%228%22%2C%22comboChannel%22%3A%222%22%7D
1. request.headers : 略
2. request.queryParams
jsv: 2.7.2
appKey: 12574478
t: 1714810094347
sign: cb66912e3b7b44d421a8c2830473fe55
api: mtop.damai.wireless.follow.relation.update
v: 1.2
ecode: 1
H5Request: true
type: originaljson
timeout: 10000
dataType: json
valueType: original
forceAntiCreep: true
AntiCreep: true
useH5: true
data: {"operateType":1,"targetId":"5534397471551","targetType":"10","dmChannel":"damai@damaih5_h5","platform":"8","comboChannel":"2"}
- API2
GET https://mtop.damai.cn/h5/mtop.damai.item.calcticketprice/2.0/?jsv=2.7.2&appKey=12574478&t=1714813341116&sign=4cead34919ee86c3986ceddfe2e00ff7&type=originaljson&dataType=json&v=2.0&H5Request=true&AntiCreep=true&AntiFlood=true&api=mtop.damai.item.calcTicketPrice&requestStart=1714813341099&data=%7B%22itemId%22%3A%22785391770909%22%2C%22performId%22%3A%22214273036%22%2C%22calculateTag%22%3A%220_0_0_0%22%2C%22skuParamListJson%22%3A%22%5B%7B%5C%22priceId%5C%22%3A%5C%22274111309%5C%22%2C%5C%22price%5C%22%3A198%2C%5C%22count%5C%22%3A1%7D%5D%22%2C%22dmChannel%22%3A%22damai%40damaih5_h5%22%7D
1. request.headers : 略
2. request.queryParams
jsv: 2.7.2
appKey: 12574478
t: 1714813341116
sign: 4cead34919ee86c3986ceddfe2e00ff7
type: originaljson
dataType: json
v: 2.0
H5Request: true
AntiCreep: true
AntiFlood: true
api: mtop.damai.item.calcTicketPrice
requestStart: 1714813341099
data: {"itemId":"785391770909","performId":"214273036","calculateTag":"0_0_0_0","skuParamListJson":"[{\"priceId\":\"274111309\",\"price\":198,\"count\":1}]","dmChannel":"damai@damaih5_h5"}
3. request.formData(URLEncoded)
null
4. response
略
提交订单
- API1
POST https://mtop.damai.cn/h5/mtop.damai.trade.order.build.h5/1.0/?jsv=2.7.2&appKey=12574478&t=1714813362091&sign=9b0a958509fdcb9aecd944bd0a92b5f6&type=originaljson&dataType=json&v=1.0&H5Request=true&AntiCreep=true&AntiFlood=true&api=mtop.damai.trade.order.build.h5&method=POST&ttid=%23t%23ip%23%23_h5_2014&globalCode=ali.china.damai&tb_eagleeyex_scm_project=20190509-aone2-join-test&requestStart=1714813362087
1. request.headers : 略
2. request.queryParams
jsv: 2.7.2
appKey: 12574478
t: 1714813362091
sign: 9b0a958509fdcb9aecd944bd0a92b5f6
type: originaljson
dataType: json
v: 1.0
H5Request: true
AntiCreep: true
AntiFlood: true
api: mtop.damai.trade.order.build.h5
method: POST
ttid: #t#ip##_h5_2014
globalCode: ali.china.damai
tb_eagleeyex_scm_project: 20190509-aone2-join-test
requestStart: 1714813362087
3. request.formData(URLEncoded)
data: {"buyNow":true,"exParams":"{\"damai\":\"1\",\"channel\":\"damai_app\",\"umpChannel\":\"100031004\",\"subChannel\":\"damai@damaih5_h5\",\"atomSplit\":1,\"signKey\":\"clh+aXlVWQtmR1l/T1thcHVZdm92WlkBY01OfU5JYnBxWXxtcVRYDnA7IxMqMBMEBjUcCgA5PGs=\",\"rtc\":1,\"serviceVersion\":\"2.0.0\",\"customerType\":\"default\"}","buyParam":"785391770909_1_5534397471550","dmChannel":"damai@damaih5_h5"}
bx-ua: 227!SSiSphLNYIFQWYBK4h3ADDudZ P4JL9j4lPPOrzYq/XWnoR3DxnL3XQWqmmnmHByVlEuOfvfanHWSaMOWZov3DQzbQYHDppCnXQt5JvHa7KznoRvmknLIXljqmiH9OW5BpzuOEHnaAmWnoR8mknD6GaWqmgUcLPEANp1 1PX5 sznok8mxnD3XQWpaYFIWvinXPPOJjXaQmWntkkKknL3D0SqQVXlpMinXPPOJjXa7szSd7kDWnZfiYSrYPXDpvCHn0aOXzXa7SI1RdT5AyCgJrDfI7KOYes KaS43BnUf3nJnXNaZkGgsCLWnOh5ffiy8jQcA9wgfStJnu1/GSLUDQpXHnTWIDC1CblGs D6O9zvEvbIIKpFvOekt9rgB5fU GohS2j2qNZbDJUVrN69mivw2DFt5TtPKmo9X1smJM0AcZLDUWhoN2gwpirKMLAyzfXZt73tHX1jLHAHOyrDTlr89 u44sgSWBAR4tQ3IgxwEp6PwaQGZyNEE coBrq/b/KARLvU9/iTSQ b7i4/V3Y5DZEsFQqLgRJYyFGlXsIjnib4ys74A/yqjfFCX2OqA/LjG63IZYtX6GIbzLcOE9pBur2gjVfW4cKiLtZWJ/guSzxM3shjqcG8JOrt3oXouLY5BU6Zb7v7/AXgl9C2ddy p1Tq0O3h0R/ Czg9dnuEpM7P0iSMqzAn74T4R1hfrEg9YcIt FSwJX8dx lc1WqvLovjUnWBUY98knp5623FhJt3rakJL7MX5MyYrgdNl3/vjuZIZUheoHZ Ly8xMiE2ZkEMrKRqEJdT ABm/FD6CNvaOcGQEyUk4wMeMQWd0UMf5D9a2WNf3HXQ/1XVjqXUD7ufjD0AlmsoQhzWCAz/ESf1Z6La0fCGqd22K 5NDJuKH1oy9dlTBBS0fCWb4BeH2NyHq7xZ6YDTRy6AT3cO KXcQLEp9PkPu7Lybl1sBO7RwHT9c2Gkqe1XMeAww4p1soqC0rDFCJxHE5/f3m qM cqX0zhZD9ARgkx0C6euDixLZ/ee39bwJjwyXyWeW33qc /VVfJsO8IJHohaUU6nsj8JD0WIY4 um3tsmUiqLhTuXfiVV5 2uiNc95Dm1XeXnIqy3WLbfLqU8LD495B3fs0ytBhRwY/CZPaUdmXfOma3 w6UJDBrftSiPpFCpMlXQraj24uDi BV8BjXsqOPhhuTbS53DhVgJHUkEhr9Gcwpb0lnv6G1EksFg1o0X8wMA93yhgQsyfUhSTKR6ZTAAn5hLG
bx-umidtoken: GC84F9690FD97F60B2A0B9189F46237C22EB70D3F8C70FC9271
4. reponse : 略
配送方式、支付方式等信息
- API2 : 点击【提交订单】后
POST https://mtop.damai.cn/h5/mtop.damai.trade.order.create.h5/1.0/?jsv=2.7.2&appKey=12574478&t=1714816978249&sign=81f14319c63540a8119400dfea7229b9&v=1.0&post=1&type=originaljson&timeout=15000&dataType=json&isSec=1&ecode=1&AntiCreep=true&ttid=%23t%23ip%23%23_h5_2014&globalCode=ali.china.damai&tb_eagleeyex_scm_project=20190509-aone2-join-test&H5Request=true&api=mtop.damai.trade.order.create.h5&submitref=c29fbcc93ac73d5a26aeda91b47bfd0db4fda1b6235332c5fa269aea70fc3865
1. request.headers : 略
2. request.queryParams
jsv: 2.7.2
appKey: 12574478
t: 1714816978249
sign: 81f14319c63540a8119400dfea7229b9
v: 1.0
post: 1
type: originaljson
timeout: 15000
dataType: json
isSec: 1
ecode: 1
AntiCreep: true
ttid: #t#ip##_h5_2014
globalCode: ali.china.damai
tb_eagleeyex_scm_project: 20190509-aone2-join-test
H5Request: true
api: mtop.damai.trade.order.create.h5
submitref: c29fbcc93ac73d5a26aeda91b47bfd0db4fda1b6235332c5fa269aea70fc3865
3. request.formData(URLEncoded) : 略(内容较多)
X 参考文献
- 大麦网
[1] 详情页 - 【南昌】林俊杰JJ20 世界巡回演唱会-南昌站
curl -X GET https://mtop.damai.cn/h5/mtop.damai.item.detail.getdetail/1.0/?jsv=2.7.2&appKey=12574478&t=1714746308416&sign=92c3ac50d64b777dce2eccee867fcb5f&api=mtop.damai.item.detail.getdetail&v=1.0&H5Request=true&type=json&timeout=10000&dataType=json&valueType=string&forceAntiCreep=true&AntiCreep=true&useH5=true&data=%7B%22itemId%22%3A%22790196638099%22%2C%22platform%22%3A%228%22%2C%22comboChannel%22%3A%222%22%2C%22dmChannel%22%3A%22damai%40damaih5_h5%22%7D
Request :
query-params:
jsv: 2.7.2
appKey: 12574478
t: 1714746657327
sign: 547c2c34820bc4f3ceb777aad344d690
api: mtop.damai.item.detail.getdetail
v: 1.0
H5Request: true
type: json
timeout: 10000
dataType: json
valueType: string
forceAntiCreep: true
AntiCreep: true
useH5: true
data: {"itemId":"790196638099","platform":"8","comboChannel":"2","dmChannel":"damai@damaih5_h5"}
query-params-source:
jsv=2.7.2&appKey=12574478&t=1714746657327&sign=547c2c34820bc4f3ceb777aad344d690&api=mtop.damai.item.detail.getdetail&v=1.0&H5Request=true&type=json&timeout=10000&dataType=json&valueType=string&forceAntiCreep=true&AntiCreep=true&useH5=true&data=%7B%22itemId%22%3A%22790196638099%22%2C%22platform%22%3A%228%22%2C%22comboChannel%22%3A%222%22%2C%22dmChannel%22%3A%22damai%40damaih5_h5%22%7D
- 大麦网抢票最新攻略,各大演唱会门票轻松抢购,不用求黄牛 - Bilibili 2023-10-13
- 【大麦网抢票脚本】python全自动门票秒杀脚本,拒绝黄牛,从我做起!【附源码】 - Bilibili 2024-04-16 【推荐】
- 大麦如何抢票流程(无科技不封号99%成功)!!! - Bilibili 2024-04-17
- 【Python脚本】Python大麦网自动抢票脚本,准点秒杀原价出票!拒绝黄牛从我做起,再也不用当大冤种啦! - Bilibili 2024-04-18
- Python 大麦网爬虫
- https://github.com/youwd/python_damai/blob/master/README.md | 2 star
- https://github.com/Entromorgan/Autoticket | 1.3k star
- https://github.com/MakiNaruto/Automatic_ticket_purchase | 3.9k star
- storm sniffer storm sniffer大麦抢票 - 51CTO
python damai_ticket.py
- Python 类教程
- Storm Sniffer
- 软件简介
移动HTTP/HTTPS数据包捕获和网络调试工具。
Storm Sniffer 可让您捕获并检查 iOS 设备上的 HTTP / HTTPS 请求和响应。
无需计算机即可轻松调试应用程序的网络问题。
* 特征
数据包捕获:使用本地 VPN 捕获来自 iOS 设备的 http/HTTPS 流量。以文本形式查看http/https请求和响应,并支持HTML、JS、CSS格式预览;
重写:实时修改http/https请求和响应。包括URL重定向、自定义header、本地/远程文件mock等;
重放:通过 cron 支持执行任意 HTTP 请求;
脚本:使用本地/远程 Javascript 以获得更高的可扩展性。
* 怎么运行的
Storm Sniffer 在您的设备上创建本地 VPN,然后将所有流量转发到本地中间人服务器。只要 VPN 处于活动状态,Storm Sniffer 就可以捕获通过 Wi-Fi 或蜂窝数据的所有 HTTP / HTTPS 流量。
* 关于敏感数据
Storm Sniffer 的根证书是在您的设备中生成的自签名证书。所有 HTTP / HTTPS 请求和响应都会被捕获并存储在您的设备上,而无需涉及任何远程服务器。
* 关于订阅
订阅后,您可以解锁所有高级功能。目前,自动续订订阅分为三种:
年度 $17.99、季度 $3.99、 每月 $1.99
* 使用条款
https://sniffer.x-storm.com/terms/
* 隐私政策
https://sniffer.x-storm.com/privacy/
- 新的抓包神器,完全免费,支持多平台! - Zhihu
- DamaiHelper
- https://github.com/DeepSeaTeam/damaihelper | 88 star, 15 fork , latest update at 2 weeks ago
- https://github.com/Guyungy/damaihelper | 496 star , 82 fork , latest update at 3 weeks ago

本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen/p/18171866
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen/p/18171866
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2020-05-04 [JavaScript]Base64 ←→ 图像