基于自动化工具autox.js的抢票(猫眼)

1.看到朋友圈抢周杰伦、林俊杰演唱会票贼难信息,特研究了一段时间,用autox.js写了自动化抢票脚本,购票页面自动点击下单(仅限安卓手机)。

2.脚本运行图

3.前期准备工作

 (1)autox.js社区官网:AutoX.js

 (2)b站上学习资料:10分钟学会AutoX.js hello world_哔哩哔哩_bilibili

                                      AutoX.js控件操作_哔哩哔哩_bilibili

4.源码

 // 检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。
 auto.waitFor();
 //打开猫眼app
 app.launchApp("猫眼");
 openConsole();
 console.setTitle("猫眼 go!","#ff11ee00",30);

main();

//获取输入的场次信息
function getPlayEtc(){
    var playEtc = rawInput("请输入场次关键字(按照默认格式)", "周六");
    if (playEtc == null || playEtc.trim()=='') {
        alert("请输入场次信息!");
        return getPlayEtc();
    }
    console.log("手动输入的场次信息:"+playEtc);
    return playEtc;
}

//获取输入票价信息
function getTicketPrice(){
    var ticketPrice = rawInput("请输入票价关键字(按照默认格式)", "788");
    if (ticketPrice == null || ticketPrice.trim()=='') {
        alert("请输入票价信息!");
        return getTicketPrice();
     }

    console.log("手动输入的票价信息:"+ticketPrice);
    return ticketPrice;
}

//获取输入的抢票时间
function getSellTime(){
    var sellTime = rawInput("请输入抢票时间(按照默认格式)", "10-07 12:18");
    if (sellTime == null || sellTime.trim()=='') {
        alert("请输入抢票时间!");
        return getSellTime();
     }
    return sellTime;
}

]]


}

/**
 * 
 * @returns 大麦服务器时间戳
 */
function getDamaiTimestamp() {
    return JSON.parse(http.get("https://mtop.damai.cn/gw/mtop.common.getTimestamp/", {
        headers: {
            'Host': 'mtop.damai.cn',
            'Content-Type': 'application/json;charset=utf-8',
            'Accept': '*/*',
            'User-Agent': 'floattime/1.1.1 (iPhone; iOS 15.6; Scale/3.00)',
            'Accept-Language': 'zh-Hans-CN;q=1, en-CN;q=0.9',
            'Accept-Encoding': 'gzip, deflate, br',
            'Connection': 'keep-alive'
        }
    }).body.string()).data.t;
}

/**
 * 
 * @param {时间戳} timestamp 
 * @returns ISO 8601 格式的北京时间
 */
function convertToTime(timestamp) {
    var date = new Date(Number(timestamp));
    var year = date.getUTCFullYear();
    var month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
    var day = date.getUTCDate().toString().padStart(2, "0");
    var hours = (date.getUTCHours() + 8).toString().padStart(2, "0");
    var minutes = date.getUTCMinutes().toString().padStart(2, "0");
    var seconds = date.getUTCSeconds().toString().padStart(2, "0");
    var milliseconds = date.getUTCMilliseconds().toString().padStart(3, "0");
    var iso8601 = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;
    return iso8601;
}



 //点击控件所在坐标
function btn_position_click(x) {
    if (x) {
       var b = x.bounds();
       print(b.centerX())
       print(b.centerY())
       var c = click(b.centerX(), b.centerY()) 

       console.log("点击是否成功:"+c);
    }
}

抢票脚本是指利用编程语言编写的自动化脚本,用于在短时间内快速抢购热门票源。要实现Python实现猫眼抢票脚本,你可以使用Python的相关库和工具来模拟用户的行为,实现自动化抢票功能。以下是一种可能的实现方法: 1. 首先,你需要安装Python的相关库,例如Selenium和WebDriver。Selenium是一个用于Web自动化测试的库,可以模拟用户在浏览器中的行为。WebDriver是Selenium的一个子项目,用于控制各种浏览器。 2. 安装完相关库后,你可以使用Python编写脚本来实现猫眼抢票功能。首先,你需要使用WebDriver打开猫眼网站,并进行登录操作。 3. 接下来,你可以使用WebDriver模拟用户的搜索行为,输入关键词进行票务搜索。然后,根据搜索结果找到你想要的演出或电影,并进入相应的页面。 4. 在演出或电影的页面上,你可以使用WebDriver模拟用户的点击行为,选择需要购买的票种和数量,并点击购买按钮。 5. 一般来说,在购买页面上会有验证码等安全验证措施。你可以使用WebDriver模拟用户输入验证码或者进行其他人机交互操作。 6. 最后,你可以使用WebDriver模拟用户点击提交订单按钮,并完成购票操作。 需要注意的是,Python实现猫眼抢票脚本涉及到自动化操作,具有一定的风险性和法律风险。使用这样的脚本可能违反猫眼网站的使用协议,甚至违反相关法律法规。因此,在使用脚本之前,你需要仔细阅读并遵守猫眼网站的使用规则,并根据实际情况权衡利弊。 总结: 要实现Python实现猫眼抢票脚本,你可以使用Python的相关库和工具来模拟用户的行为,实现自动化抢票功能。这包括安装Selenium和WebDriver库,编写脚本模拟用户的点击、输入和提交订单等操作。使用这样的脚本需要注意法律风险,并遵守相关网站的使用规则。
评论 145
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java_wucao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值