以下文章来源于dotNET全栈开发 ,作者布莱恩特
12306又蹦了
12306回应软件崩了:操作旅客过多,可尝试重装app或切换网络
有不少网友反映12306崩了,买票太难了。12306客服表示,可能是操作旅客过多,系统繁忙造成的,可尝试重新卸载安装客户端或切换网络。关于春运期间是否加强技术保障,客服称需要反馈给相关技术部门才能得知。
只有程序员才能明白12306的牛逼之处
还担心春节抢不到票?
每逢佳节抢票难,难不倒程序员,代码走一走,去哪儿的票都能抢到手!
每次过节的时候,都有过抢票的经历,记得两年前还有人等待开始发售春节的票时,蹲点抢,好辛苦的感觉。这不程序员就很不开心,没有什么事能够阻止得了程序员的,干就完事了。最近GitHub上面就有两个异常火爆的项目,都是用Python来抢12306的车票的工具。
牛逼的程序猿写的这款python抢票工具 冲到了github热搜第一
废话不多说,先把github地址放上
- 12306项目地址:https://github.com/testerSunshine/12306
- py12306项目地址:https://github.com/pjialin/py12306/
- 12306bypass (分流抢票)傻瓜式操作,文末有下载地址
testerSunshine/12306
https://github.com/testerSunshine/12306
目前已经start接近20.4万,fork6.5k,还会继续上涨!是一位叫文贤平的程序员,项目名称很有档次,直接明了,就叫“12306”,功能一直在更新,2018年初开始提交,最近的一次提交是几天前,看得出很用心。
流程图画的很清晰明了,从查询余票开始,到付款完成,最后获取订单号。一气呵成,不怕人类手速太慢。技术原理其实是没什么说的,
懂爬虫的人都知道,实质上就是用程序模拟人的行为去查询余票、提交坐席下单就可以了。不过对比人的话,毕竟是程序,你可以设置它一直不停的在查询余票。这方面人是没法比的。当然其中的难度肯定是有的,不然阿猫阿狗都能冲榜!
这很可能是全 GitHub 最德高望重的购票小助手了,现在功能一直在更新,且已支持 Python 3.6 以上版本。python版本
- [ ] 2.7.10 - 2.7.15
- [x] 3.6 - 3.7.4
- [ ] 2.7.9
已有功能
- [x] 自动打码
- [x] 自动登录
- [x] 准点预售和捡漏
- [x] 智能候补
- [x] 邮件通知
- [x] server酱通知
目录对应说明
- agency - cdn代理
- config - 项目配置
- verify - 自动打码
- init - 项目主运行目录
- inter - 接口
- myException - 异常
- myUrllib request网络请求库
日志例子
成功log,如果是购票失败的,请带上失败的log给我,我尽力帮你调,也可加群一起交流,程序只是加速买票的过程,并不一定能买到票
代码语言:javascript复制正在第355次查询 乘车日期: 2018-02-12 车次G4741,G2365,G1371,G1377,G1329 查询无票 代理设置 无 总耗时429ms
车次: G4741 始发车站: 上海 终点站: 邵阳 二等座:有
正在尝试提交订票...
尝试提交订单...
出票成功
排队成功, 当前余票还剩余: 359 张
正在使用自动识别验证码功能
验证码通过,正在提交订单
提交订单成功!
排队等待时间预计还剩 -12 ms
排队等待时间预计还剩 -6 ms
排队等待时间预计还剩 -7 ms
排队等待时间预计还剩 -4 ms
排队等待时间预计还剩 -4 ms
恭喜您订票成功,订单号为:EB52743573, 请立即打开浏览器登录12306,访问‘未完成订单’,在30分钟内完成支付!
pjialin/py12306
https://github.com/pjialin/py12306/
其实说起来这第二个项目是在第一个项目的基础之上做的,所以第一个项目有的功能,第二个项目都有。但是第二个项目的一些功能某程度上比第一个项目更加强大一些。
目前有6500 start,fork1600 次,持续上涨中...
一位名叫pjialin的程序员,借鉴了文先森的部分代码实现,开发了一个分布式工具,名叫py12306购票助手。就是说,一台机器抢不到,可以让许多硬件一起跑。它还支持多任务 (多班列车) 、多日期、多账号一起查。另一个机智的功能是,同时观察多个始发站和到达站的组合。
我举个例子,我是从北京出发去南京,中间路过山东德州。可能直接从北京到南京的车票没有了,但是从北京到德州的票还有,我就可以买从北京到德州的票,然后上车之后补票,补票到南京。
现在大部分抢车软件以及12306是不支持这种一键自动查询的,但是这个抢票的项目就支持这样的操作。
项目作者说,试过文先森的算法和bypass12306,未果,这才做出了自己的抢票工具。用上这个新工具,他一下子抢到了好几张票。
web端管理界面
推荐这两个项目的目的原因也是有俩:
第一是希望大家真的能通过这个软件抢到票,当然其实你也是可以选择携程那些抢票软件来的,因为他们的服务器更牛逼,抢票的可能性会更大。(非人命币玩家勿扰)
第二个目的呢当然是希望大家能够学习一下别人的代码,这项目还是挺牛逼的,验证码啥的都能搞定。
最后推荐一个拿来就干的抢票工具“bypass(分流抢票)",并不是开源的,windows桌面程序
bypass(分流抢票)
作者:Cheney.小风,基于微软.Net开发的抢火车票程序。
适用平台:Windows电脑端
虽然现在手机上现在已经有很多的购票软件,并且都有抢票功能,但是面对购票高峰期,手机购票软件的抢票能力总是差强人意。(人命币玩家)
所以推荐这款软件:支持自动抢票、自动识别验证码、稳定捡漏,实时挂单,全自动检索系统余票交换等多种功能
前身是大二时历时一月开发的程序,几经风霜,经过了几年的时间不断的优化和更新迭代,时至今日,还在不断的维护当中,不忘初心。