因为现在大麦网网页端的抢票路径已经被 ban 了,只能通过 app 端抢票。
目前的思路是 Python + appium + 安卓虚拟器 实现自动化抢票。
但是觉得这样即使实现了,可能抢票的效率还没有人手点的快,想问下大佬们 如果想要开发一个抢票脚本,有哪些推荐和合适的技术栈?
纯是自己想抢票,抢不到,想着周末有时间 可以开发一下。

www.baidu.com

现在都是手机群控抢,二手华为批发几十个,插上 usb 用开发者模式下推操作就行了,技术栈还是 python+opencv 截图识别判断点击那套没怎么变过。虚拟机不行的,见一个 ban 一个,人风控也不是吃干饭的,开多了账号都给你拿下,别说抢票了。

什么都没看完就来装逼了?

人请教怎么做,我就告诉他我们之前是怎么做的,你有更好的技术可以说说,我哪里说的有问题可以指出来,或者你实在是什么都不愿意说可以闭嘴。你发了两个帖子,一句话是一个众所周知的无效搜索引擎的网址,一句话是骂人,信息量几乎为 0 ,何必发出来浪费大家的时间呢?

opencv 比 appium 还慢,说了等于没说,最快的是协议,要用什么技术栈自己根据用的语言百度即可

感谢!就是想了解一下完成这样的需求 会用到什么样的方法

有没有可能我已经做过调研了,然后分享了一下我的想法,并且想听一下有经验的人和大家的思路 来拓宽一下实现方法。如果你有实现思路欢迎分享,更深入/相关的东西 我会去自己检索,学习 然后开发的。

是的。你的分享对我来说非常有用! 怼他的话我就不说了,我的想法和你后面几句一模一样 hhh 我确实知识覆盖面也不广,但论坛功能之一 不就是可以互相学习 进行有意义的讨论

APP 和网页购票本质都是发网络请求嘛,只要看起来没差别就行了

自动化工具是抢不过协议的

时代早就变了,现在各个平台抢票和秒杀机制都是进抽签池抽签,关键早就不是你网速多快发请求多快了,而是你有没有足够的设备和账号提高中签率,不差那零点几秒。现在的技术走 usb 推图到识别延迟都可以控制到 50ms 以内,我们拿来做游戏群控操作都能正常玩,opencv 后端都是 c bindings ,你要写个 opencv 脚本能比 appium 还慢那应该怪不了别人。。。抓协议除非你是专业黄牛,否则浪费那么多精力去逆向接口根本不值得,抓出来没几天又变了,直接抓瞎。 没事,我们也不是专业黄牛,所以我的办法也不是最好的,大家有什么更好技术都可以分享一下。但是今年工体梅西的票我们都帮朋友抢到了,所以这办法多少应该还是能用的,最主要是开发起来省事。

你发言真暴躁,那我觉得你一样是一知半解。有点编程常识的谁不知道相同条件下协议的比完整模拟的(到达服务器,注意是到达服务器,事实上现在很多平台并不绝对按照谁更“早”)更快?但#2 用真机群控比你要少分析多少风控你是一个字不提。你自己真的实现过完整的能过风控的协议方案吗?敢问你从 OP 这种入门阶段到做出完整实现花了多久?你确定百度得到?现在 2023 年,我觉得你是不是遵照着多年前的有限经验太过小觑大厂的防护了?

你扯那么多干什么,你就说你没处理过大麦就行了。我要开 100 账号,你用 usb 推图,个人电脑能承受这负载? 你这发言让我觉得你就是没做过,到达服务器可以做到 10ms 内,比 11 楼的 50ms 快多了

#3 不会好好说话。

op 都用 python+appium 实现过了,换成 python+opencv 根本就不难再说,op 要的是推荐技术栈,难不难他自己选,又没逼他,我们给的是方案,不是让他用我们的方案开发

难道不是调用安卓的残障辅助 API ?

我见过 有的黄牛公司组织一堆学生抢票、茅台的,抢到了给一点费用而已然后关于虚拟机,有成熟的 docker 安卓可以过风控,但是是收费的,可以 b 站搜下魔云腾看看,一个 2000 的硬件能同时开出 16 个安卓,保存几百个容器实例好像

手机的还是慢,开发起来也没什么难度,appium 、atx 、opencv 等要研究技术还得是协议

#13> 开 100 账号,你用 usb 推图,个人电脑能承受这负载他的方案确实慢,但真的做群控怎会用原始的 adb 命令走 usb ,错误的论证过程> 到达服务器可以做到 10ms 内,比 11 楼的 50ms 快多了我可从没说 #2 的方案是最优方案,有实力或者有团队去对抗风控肯定是个打磨的过程,你说协议快也没问题,但你态度太差,并且只字不提协议相比真机要多面对多少风控问题。在怀疑我没做过之前,你在推荐一个只想利用周末时间给自己抢票的新手去逆向大麦 APP 协议的时候,真的意识到他面对的将是对于专职移动端逆向的人都有一定难度的阿里的防护吗?

协议+号海(代挂)

难不难他自己选择,选技术方案的时候自己自然会去评估难度群控不满足他说的效率问题

真当阿里 CRO 不逛 V2EX 嘛=。=

你这个问题已经有人讨论过了: www.hesudu.com/t/964948

给你指个我写的偏门路子吧,他包含了下面提到的可能用到的技术: github.com/rev1si0n/lamda 如果你想自己写,用到的技术可能性有很多最简单的是使用自动化,即:模拟操作,可以用 uiautomator 去实现其次,通过 hook 的方式进行发包,但是难点就是可能没那么容易绕过反制措施再之,协议方式,通过中间人或者其他方式获取请求信息并从代码逆向出相关参数(签名或者加密),难点是上面的难点再提高其他的,就是别人提到的,找一群人抢,最靠谱的。

发个百度的哪来的脸杠别人?

我左边和右边的脸

同意+1 这人脾气太臭了,也不懂得平和的聊天,懒得直接怼他了。论坛就是讨论的,不符合自己心意的帖子可以闭嘴。真牛逼可以友好的给一些具体的方案建议,上来就喷,看不下去了。

谢谢。3 楼的账号已经被彻底 ban 。

逆向?

github.com/Jinnrry/RobotHelper自荐我写的这个库,楼上说的 opencv ,模拟点击啥的都已经封装好了。需要群控的话也封装好了。大规模群控不建议 usb adb ,电脑能插的 usb 数据有限,插多了以后性能不行。回到正题,可行的思路就两种:1.使用程序模拟人工点击操作。本质上和人操作没啥区别,无非就是像楼上说的,搞几百台手机操作。但是成本太高,成功率也一般。2.反编译程序,找到对方接口逻辑,直接 xpsoed 下 hook 调用对方相关接口。类似 qq 红包插件,只受限于你的网络延迟,理论上只有网络延迟,只要你网络够好,肯定就能抢到。但是这个方案技术难度很大,对方程序肯定有加壳,混淆啥的,没点功底很难反编译出来这两种方案我框架都做了封装,你会安卓开发就行