Python自动抢火车票的案例

  介绍

这篇文章将为大家详细讲解有关Python自动抢火车票的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我本来想自己写一个练练手的,但是转眼一想,Python本身最大的优势是什么,不就是有很多牛逼的人已经造好轮子了吗?你只需要知道这些轮子并会使用就行了,这样会节省你大量的精力和时间,而且站在巨人的肩膀上,会看得更远。于是我在github上一搜索,果然有不少抢票程序,有的是Python2,有的是Python3,按开始数据排序,经过亲自使用和对比,我选择了一个相对较好用的程序,并稍加以改进和完善。

项目github地址:https://github.com/xiaoshun007/12306Python

项目简介:hack12306.py是一个Python 3。12306. x版的cn自动订票程序。利用分裂(一个开源的用来通过python自动化测试web的工具),让电脑自动操作网页。支持的功能:

(1)支持配置出发地,目的地,乘车日

(2)支持配置车次类型(动车、高铁等)

(3)支持配置出发时间

(4)需要手动输入登录验证码

(5)支持配置预定车次的选择顺序(使用命令字段配置,数字0:从上至下选择,数字x(1、2、3、4…):车次从上到下的序号,配,,,,,,置2表示列表中的第二个车次)

(6)支持预定,购票自动完成

(7)支持配置文件路径指定

(8)支持席别指定

(9)支持是否允许分配无座

还不支持的功能:

1,邮件提醒

于是,我在此基础上,加入邮件提醒的功能,并修复一些小bug,公众号后台回复关键字【12306】获取我完善后的抢票程序源码,再按下方的步骤来操作即可。程序的流程图如下:

 Python自动抢火车票的案例

<强>步骤一,环境准备

1,安装chromedriver

由于程序使用chrome浏览器,因此需要安装chromedriver,其实很简单,就是下载自己电脑上chrome浏览器对应的chromedriver即可,网上bing一下就找到了,也可参考之前的文章Python云端学习中chromedriver的安装方法。我分享在网盘里chromedriver对应的chrome浏览器版本为71.0.3578.98,不过也没有那么严格,只要是较新的chrome浏览器都可以使用我提供的这个chromedriver。将chromedriver放在一个你想放置的目录下,这个路径需要配置在配置文件中。

 Python自动抢火车票的案例

2,安装依赖的Python三方库

安装自动化工具库分裂和邮件发送模块zmail。直接命令行执行

pip  install 分裂   pip  install  zmail

<强>步骤二,修改配置文件

配置文件配置。ini需要修改以下几个地方:

1,你12306年的账号,密码

# #,登陆账号和密码   (登录)   # # #,用户名:12306登录用户名,必选参数   用户名=,填写你的12306用户名   # # #,密码:12306登录密码,必选参数   密码=,填写你的12306密码

2,你要买票的始发站,终点站,日期

# #,饼干信息,出发站,目的站   (cookieInfo)   # # #,开始:对应搜索框出发地,必选参数,请输入中文名称,例如:武汉   开始=苏州   # # #,结束:对应搜索框目的地,必选参数,请输入中文名称,例如:南京   结束=信阳   # # #,dtime:对应搜索框出发日,必选参数,时间格式:年-月-日,例如,2018-01-19   # #,时间格式2018-01-19   dtime=2019-02-02

3,你要为其买票的人姓名

# #,用户:乘客姓名,必选参数,中文姓名,支持多个乘客,用英文逗号隔开,例如:张三,李四   # # #,乘客姓名需要提前加入到登录的12306账号的联系人中,为了程序自动选择乘客姓名   【用户信息】   users =,郑征

4, chromedirver的路径

# #,路径信息   (pathInfo)   # # #,driver_name:浏览器名称,必选参数   时间=driver_name 铬   # # #,executable_path:浏览器驱动路径,必选参数   # # #,windows路径例如:C: \ \ sanshunfeng \ \ chromedriver.exe下载的用户   executable_path =, python E: \ GitHub \ \ pachong \ \ chromedriver工具。exe

5,发送邮件的配置信息

(邮件)   时间=mail_user 你的邮箱如,:somenzz@163.com   时间=mail_pwd 你的密码   receiver =,你的收件地址:如,somenzz@163.com

Python自动抢火车票的案例