首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

火车票抢票神器,再也不用担心回家过年啦!

春节临近,很多小伙伴都在做同样的一件事:抢火车票。今天,「编程帮」教给大家一款抢票神器。

抢火车票,比的是速度(排除网速影响):

比谁输入用户名和密码快;

比谁火眼金睛,输入二维码快;

比谁输入预定火车相关的信息快;

如果以上环节你都比别人快,那么你一定能轻轻松松抢着火车票!

这里给大家推荐的抢票神器,是用 Python 编写的一段程序。它能够自主快速的完成:输入用户名、密码、选择火车出发地和目的地,以及出发日期等操作(12306 变态的验证码还是需要自己验证)。

具体流程(mac\windows)

电脑上安装 chrome 谷歌浏览器,百度下载安装。

安装 chromedriver。Mac用户可以打来命令行窗口,输入:brew install chromedriver 完成;windows 用户就只能去网上下载并安装。

安装 Splinter。Windows 用户需提前安装Python2版本,mac 自带 Python2.7。无论是 windows 用户还是 mac 用户,在命令行窗口中输入: pip install splinter 即可完成。

下载抢票程序,打开文件,需要更改一下几个地方(括号中显示的为程序中的变量):

登录用的用户名(username)和密码(passwd);

出发地(starts)、目的地(ends),这里需要是各个地名对应的Value值,例如北京的 Value 值为:%u5317%u4EAC%2CBJP(Value的查找方式下面有详细介绍);

出发日期(dtime的值)和预坐列车所在的位次(order,从第一辆列车开始,依次数,假设想乘坐的列车位于第 5 列,则程序中的 order 的值就改为 5);

乘坐人的姓名(pa)。例如,张三想乘坐列车(需保证联系人中有该人),则 pa 的值就为 张三;

5. 在命令行中,运行该程序,抢票模式开启;

程序运行过程

程序运行开始后,它会自行使用谷歌浏览器打开 12306 ,然后自行输入你的用户名和密码。之后,需要你手动完成验证码的判断,并点击确定按钮。

再之后,程序会自行输入出发地、目的地和出发日期,自行查票,自行预定车票。

唯一不足之处在于,程序无法判断是硬座、硬卧还是软卧,只要列车有票,它就会抢。

程序中有 order 变量值的设置:

值为 0,表示你对具体乘坐的列次没有要求,它会按照列车的排列依次预定;

该值不为 0 ,则程序会固定抢某列车的车票,例如order =1,它只会抢位次排在第1 位的火车票,不断的刷新页面,直至抢到票为止。

预定车票后,它会自行勾选乘车人,等待你的最终确定。

Value的查找方法

这里需要用户提前登录 12306,输入自己要乘坐的列车的信息,之后点击查询,记住自己想乘坐列车所在的位次(从第一辆列车开始数)。

之后,windows用户在 chrome 浏览器中按 F12 会弹出一个窗口,窗口中找resource 选项,该选项中有 Cookies,然后点击 kyfw.12306.cn ,如下所示:

mac 用户按 option+command+i 调出窗口,找 Application 选择,其中就有 Cookies,如下图所示:

大家可以看到对应表格中的 value 的值,其中:

看到这里,你还在等什么,赶快抢票回家吧!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180116G0MEII00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券