这两天研究了下大麦网,在经历了抢票没抢到,群友讨论脚本如何修改以及大麦网规则等事件之后,我发现了以下规则。
规则
- 很多演唱会有优先购,可以兑换使用。
- 可以提前设置好观影人,那么在提交订单页面就可以不用选择,可以直接点击提交订单。
- 在开抢前,可以预定购买的日期以及票档,那么点击立即购买后,不用选择时间以及票档,直接点击确认即可。
总结
如果设置了以上观影人以及日期和票档,那么我们需要操作只有点击下一步。
查看了下三个页面的按钮,都是排列在右下角,所以选取最小的按钮位置,我们只要一直点击这个位置即可。
所以我们只需要一个点击器
。
代码
python代码
import pyautogui
import time
import datetime
# 使用这个方法可以查看你鼠标放的位置,代码会点击这个位置
time.sleep(3)
point = pyautogui.position()
print(point)
# 开始时间
begin_time = "2023-07-10 21:07:00.000000"
# 结束时间
end_time = "2023-07-10 21:07:10.000000"
def clickEvent():
index = 0
while True:
current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
if current_time >= begin_time:
pyautogui.click(point.x, point.y)
index += 1
print('一直点击了%s' % index)
if (current_time >= end_time):
print('停止点击')
break
time.sleep(0.00001)
clickEvent()
以上代码执行了10秒钟,大概点击了93次。
autoxjs代码
// 现在时间
const currentTime = new Date().getTime();
// 开始时间,1000为1秒,这里是10秒之后开始点击
const beginTime = currentTime + 10000;
console.log("beginTime", beginTime);
// 结束时间,开始时间的10秒之后结束点击
const endTime = beginTime + 10000;
console.log("endTime", endTime);
// 点击事件
const handleClickEvent = () => {
let index = 0;
console.log(new Date().getTime());
console.log(beginTime);
if (new Date().getTime() >= beginTime) {
while (new Date().getTime() >= beginTime) {
click((1000, 2300));
index += 1;
console.log(`点击了${index}次`);
if (new Date() >= endTime) {
break;
}
}
} else {
sleep(100)
handleClickEvent();
}
};
handleClickEvent();
因为autoxjs受限,时间选择曲线救国。以上代码设置了个100毫秒的间隔,大概20秒点击了1809次。
- 以上两部分代码是不同的写法,所以点击的次数也是不一样的。以上方法会找个时间在测试一下。python主要是用于电脑,autoxjs用于手机。
题外话
我确实也是很想抢到我自己想要看到的演唱会,所以才会写这些脚本代码。我会尽力不踩缝纫机的抢到自己想看的。但是我确实也不能保证我能写一个很容易抢到了。因为网络等各种因素。
还有这次写的脚本确实能用,但是可能没有怎么在大麦网抢过票,对于规则也和不熟悉,脚本能用,不代表能抢,群友都没有抢到,感谢群友在这过程中的帮助以及包含。希望大家如果有想学习的东西,可以给我说,我可以在空余时间帮助你,这样群里都会写,人人都是脚本撰写者。
今天还有很多添加好友的,但是由于在工作以及好友太多,未能添加,请多多包涵,还有很多添加却提示添加好友频繁的朋友,没能添加上。我决定大家可以直接加群吧。
虽然可能会导致黄牛进入群里,但是没有办法,希望群友可以监督一下,发现即踢。
群二维码在公众号菜单,或者直接在文中扫码加群