这篇文章将为大家详细讲解有关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】获取我完善后的抢票程序源码,再按下方的步骤来操作即可。程序的流程图如下:
<强>步骤一,环境准备强>
1,安装chromedriver
由于程序使用chrome浏览器,因此需要安装chromedriver,其实很简单,就是下载自己电脑上chrome浏览器对应的chromedriver即可,网上bing一下就找到了,也可参考之前的文章Python云端学习中chromedriver的安装方法。我分享在网盘里chromedriver对应的chrome浏览器版本为71.0.3578.98,不过也没有那么严格,只要是较新的chrome浏览器都可以使用我提供的这个chromedriver。将chromedriver放在一个你想放置的目录下,这个路径需要配置在配置文件中。
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.comPython自动抢火车票的案例