前言
每逢佳节抢票难,难不倒程序员,代码走一走,去哪儿的票都能抢到手!,我是练习时长两年半的程序员,喜欢唱、跳、rap,编程抢票。感受一些我的freestyle,抢票一定很廉价!干就完事了。
每次过节的时候,都有过抢票的经历,记得两年前还有人等待开始发售春节的票时,蹲点抢,好辛苦的感觉。这不程序员就很不开心,没有什么事能够阻止得了程序员的,干就完事了。最近GitHub上面就有两个异常火爆的项目,都是用Python来抢12306的车票的工具。
每个人不可能都是大神像菜鸟一样学习你也可以做到牛逼的程序猿写的这款python抢票工具冲到了github热搜第一
废话不多说,先把github地址放上
12306项目地址:
/testerSunshine/12306
py12306项目地址:
/pjialin/py12306/
1.testerSunshine/12306
目前已经start接近1.5万,fork4500+,还会继续上涨!
是一位叫文贤平的程序员,项目名称很有档次,直接明了,就叫“12306”,功能一直在更新,初开始提交,最近的一次提交在两天前,也就是9月18号,看得出很用心。
流程图画的很清晰明了,从查询余票开始,到付款完成,最后获取订单号。一气呵成,不怕人类手速太慢。技术原理其实是没什么说的,
懂爬虫的人都知道,实质上就是用程序模拟人的行为去查询余票、提交坐席下单就可以了。不过对比人的话,毕竟是程序,你可以设置它一直不停的在查询余票。这方面人是没法比的。当然其中的难度肯定是有的,不然阿猫阿狗都能冲榜!
这很可能是全 GitHub 最德高望重的购票小助手了,现在功能一直在更新,且已支持 Python 3.6 以上版本。
python版本
x2.7.10 - 2.7.15
√3.6 - 3.7.4
x2.7.9
已有功能
√自动打码
√自动登录
√准点预售和捡漏
√智能候补
√邮件通知
√server酱通知
目录对应说明
agency - cdn代理
config - 项目配置
verify - 自动打码
init - 项目主运行目录
inter - 接口
myException - 异常
myUrllib request网络请求库
日志列子
成功log,如果是购票失败的,请带上失败的log给我,我尽力帮你调,也可加群一起交流,程序只是加速买票的过程,并不一定能买到票
正在第355次查询乘车日期:-02-12车次G4741,G2365,G1371,G1377,G1329查询无票代理设置无总耗时429ms
车次:G4741始发车站:上海终点站:邵阳二等座:有
正在尝试提交订票...
尝试提交订单...
出票成功
排队成功,当前余票还剩余:359张
正在使用自动识别验证码功能
验证码通过,正在提交订单
提交订单成功!
排队等待时间预计还剩-12ms
排队等待时间预计还剩-6ms
排队等待时间预计还剩-7ms
排队等待时间预计还剩-4ms
排队等待时间预计还剩-4ms
恭喜您订票成功,订单号为:EB52743573, 请立即打开浏览器登录12306,访问‘未完成订单’,在30分钟内完成支付!
2、pjialin/py12306
其实说起来这第二个项目是在第一个项目的基础之上做的,所以第一个项目有的功能,第二个项目都有。但是第二个项目的一些功能某程度上比第一个项目更加强大一些。
目前有6500+start,fork1600+次,持续上涨中...
一位名叫pjialin的程序员,借鉴了文先森的部分代码实现,开发了一个分布式工具,名叫py12306购票助手。
就是说,一台机器抢不到,可以让许多硬件一起跑。
它还支持多任务 (多班列车) 、多日期、多账号一起查。
另一个机智的功能是,同时观察多个始发站和到达站的组合。
我举个例子,我是从北京出发去南京,中间路过山东德州。可能直接从北京到南京的车票没有了,但是从北京到德州的票还有,我就可以买从北京到德州的票,然后上车之后补票,补票到南京。
现在大部分抢车软件以及12306是不支持这种一键自动查询的,但是这个抢票的项目就支持这样的操作。
项目作者说,试过文先森的算法和bypass12306,未果,这才做出了自己的抢票工具。
用上这个新工具,他一下子抢到了好几张票。
web端管理界面
推荐这两个项目的目的原因也是有俩:
第一是希望大家真的能通过这个软件抢到票,当然其实你也是可以选择携程那些抢票软件来的,因为他们的服务器更牛逼,抢票的可能性会更大。(非人命币玩家勿扰)
第二个目的呢当然是希望大家能够学习一下别人的代码,这项目还是挺牛逼的,验证码啥的都能搞定。
最后推荐一个拿来就干的抢票工具“bypass(分流抢票)",并不是开源的,点击直接运行就可以。
3.bypass(分流抢票)
作者:Cheney.小风,基于微软.Net开发的抢火车票程序。