您现在的位置是: 首页 > IT业界

春运开启, 咱试一试用Python 代码抢购火车票

时间:2018-01-30 18:29:05 来源:福利日报

2018年春运你知道有多少人出行么?2018年春运全国旅客发送量将达到29.8亿人次!害怕不?这场每年持续40天的人类史上最大规模的周期性迁徙成为许多中国人一年一度关于回家的深刻记忆。火车票你抢到了吗?

在12306面前,每个归家心切的人都如临大敌。

第一天, 网络链接有问题,没有抢到。

第二天, 排队2分50秒后,出票失败,没有足够的票!

第三天, 出票失败,没有足够的票!

第四天, 出票失败,没有足够的票!

火车票是有限的,回家的人是无限的。中国铁路总公司说:怪我咯?!

可是,你没票就没票,干嘛要放出1张二等票钓鱼,让人一次次干刷,刷出“尚有73张余票”的温馨提示,最后每次都告诉你“出票失败,没有足够的票”!

大神出马!用python 代码试一试自动抢

下面我们利用自己学的技术来自动抢票,本次脚本基于Python3.6 splinter来实现:

首先介绍一下splinter使用:

splinter.brower是一个开源工具,通过Python自动化测试web,通过电脑自动操作网页。

Splinter模块是python egg,下载当然很简单,安装: pip install splinter

同时还需要浏览器的驱动,Splinter的Browser类默认优先调用的驱动是firefox,所以用chrome的话需要在初始化Browser时候指定driver_name="chrome"参数,建议都明确指定浏览器!

注意:Chrome的驱动chromedriver,注意版本要对应,不然基本上会有unknown error,打不开浏览器

实现思路:

登陆12306网站,登录时需要输入用户名与密码,然后需要输入蛋疼的验证码,然后选择起、始站,时间,车次类型,点击查询,再选择车次,乘客,提交订单。如果按照这样的手动操作下来,票早已经没有了。

实现目标:

整个流程全自动,自动登陆,自动查询,自动订单,自动提交订单( (暂时不实现自动点击验证码,验证码成功几率比较低)

思维导图:

整体思路就是这样,基本可以实现自动抢票,唯一不足是不能自动选取硬座、硬卧等车座类型;

需要详细代码的亲们,可以留言哦!

关于我们| 联系我们| 投稿合作| 法律声明| 返回顶部

版权所有 ©2015-2017 我在网 京ICP备14056282号-1

(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();