-
python爬虫之Python3实现抢火车票功能(下)
试听地址 https://www.xin3721.com/eschool/pythonxin3721/
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
导语
在之前的“教你如何用Python实现抢火车票功能(上)、(中)”两文中我们基本完成了项目要求的功能,今天我们来完成项目的最后一部分内容即将两项功能集成到一个Demo,供所有专业/非专业人士更加方便地使用。
本期任务
完成项目内容4。
开发工具
python版本:3.5.4
chromedriver_win32版本:2.3.4
chrome版本:65.0.3298.4
相关文件
百度网盘下载链接: https://pan.baidu.com/s/16jUPfpAY90sGmqV0PbqszQ
密码: 6ntn
项目内容4
相关模块:
requests模块、splinter模块、PIL模块以及python自带的一些基本模块。(相关模块均使用pip安装即可)
相对之前版本的变动:
(1)可视化界面;
(2)车次不再使用纯数字,可直接输入需要抢票的车次名(如G163),使用更加方便;
(3)暂时废除了邮件提示功能(太不稳定了)。
具体原理请参考源代码!
环境搭建:
安装python(添加到环境变量)并pip安装相关的第三方库,最后将相关文件中提供的chromedriver.exe文件放在python安装文件夹中的Scripts文件夹内。
使用方式:
在cmd窗口运行即可。
界面展示:
最终代码:
见相关文件。
使用演示
(1)查询功能
(2)抢票功能
需手动输入验证码:
抢到票之后我们需要手动打开12306官网或者官方APP在未完成订单中进行支付后购票:
使用说明
(1)乘客名输入格式为:
xxx(学生)或者xxx,其中()使用英文输入法;
多名乘客时请输入xxx,xxx,xxx,其中,使用中文输入法。
xxx代表人名!!!
(2)日期输入格式为:
year-month-day,例如2018-01-20。
(3)类型输入格式为:
字母a代表全部;
字母g代表高铁;
字母d代表动车;
字母k代表快速;
字母t代表特快;
字母z代表直达。
注意字母均为小写。
(4)车次输入格式为:
数字0代表任意车次,其他按照正确的车次名输入即可,如G163等等。
若输入的车次不存在,则系统抢票时将抢任意车次。
(5)其他:
输入正确的用户名、密码和出发地与目的地即可。
更多
(1)这只是V1.0版本,还有很多缺陷和不足之处,为调试和修改方便,且避免程序出现其他意外的错误,暂时不提供.exe版本;
(2)此版本至2018-01-12日为止是有效的,若日后12306官网有较大更新,则此代码将仅供参考;
(3)尽量每年抢票季对版本进行更新升级,供抢票回家的小伙伴使用;
(4)若发现代码有错误之处或者其他问题请后台联系我。