12306抢票脚本(python实现)
1、正常在官网买票,流程大概如下:查票-登录-下单-通知
2、那么脚本要怎么实现?首先是监控余票,循环遍历余票接口,直到有票,开始购票,然后检测购票结果,如果成功,通知用户去付款,如果失败,循环以上过程,这就是自动抢票的大体思路。这里会有一个问题,12306购票接口会校验用户是否登录,如果未登录状态,购票会失败;所以需要增加一个逻辑,下单前检测用户是否处于登录状态,如果未登录,调用登录接口,保证用户一直处于登录状态,同时还是需要将登录后的用户状态保留(保留cookie)。当你登录时又回发现另一个比较恶心的问题,就是图片验证码,需要识别图片验证码,才可以登录;经过一番分析,发现验证码是一张图片,而验证码的预期答案时图片的相对坐标,所以将图片识别即可,这里不做过多深入研究,网络上有很多验证码识别的api,可以直接调用,准确率还是不错的,响应速度也还可以。接下来就是购票成功了怎么通知用户的问题,一般有几种方式,邮件、短信、微信。邮件方式不太方便,毕竟大多数人不会太关注邮件,故放弃这种方式;短信方式,这个不错,但是一般短信服务要人民币,自己弄脚本,不想花钱,?;还是用微信吧,大部分人都有微信,选择这种方式吧。
3、有兴趣的同学可以撸一下代码,github地址:https://github.com/zhaoxusun/_12306,自测过,功能没有问题,可以抢票成功,非盈利,纯属个人娱乐
4、结束语:其实网上也有很多类似的文章和代码,想深入了解的,自行搜索吧