每逢春节一票难求,用Python3.6实现12306火车票自动抢票省心省力
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正。话不多说,进入正题:
在进入正题之前,我想说明一下,由于12306官网的改版更新,所以脚本作了一点小小的变化,具体修改后的源码,可以到GitHub上面查看……新版脚本源码
这个脚本目前只能刷一趟车的,人数可以是多个,支持选取作为类型等。
实现思路是splinter.browser模拟浏览器登陆和操作,由于12306的验证码不好自动识别,所以,验证码需要用户进行手动识别,并进行登陆操作,之后的事情,就交由脚本来操作就可以了,下面是我测试时候的一些截图:
第一步:如下图,首先输入抢票基本信息
第二步:然后进入登录页,需要手动输入验证码,并点击登陆操作
第三步:登陆后,自动进入到抢票页面,如下图这样的
最后:就是坐等刷票结果就好了,如下图这样,就说是刷票成功了,刷到票后,会进行短信和邮件的通知,请记得及时前往12306进行支付,不然就白抢了
Python运行环境:python3.6
用到的模块:re、splinter、time、sys、httplib2、urllib、smtplib、email
未安装的模块,请使用pip instatll进行安装,例如:pip install splinter
如下代码是这个脚本所有用到的模块引入:
刷票前信息准备,我主要说一下始发站和目的地的cookie值获取,因为输入城市的时候,需要通过cookie值,cookie值可以通过12306官网,然后在F12(相信所有的coder都知道这个吧)的network里面的查询请求cookie中可以看到,在请求的header里面可以找到,_jc_save_fromStation值是出发站的cookie,_jc_save_toStation的值是目的地的cookie,然后加入到代码里的城市的cookie字典city_list里即可,键是城市的首字母,值是cookie值的形式。
抢票,肯定需要先登录,我这里模拟的登录操作,会自动填充12306的账号名和密码,当然,你也可以在打开的浏览器中修改账号和密码,实现的关键代码如下:
登录之后,就是控制刷票的各种操作处理了,这里,我就不贴代码了,因为代码比较多,别担心,在最后,我会贴出完整的代码的。
当刷票成功后,我会进行短信和邮件的双重通知,当然,这里短信通知的平台,就看你用那个具体来修改代码了,我用的是互亿无线的体验版的免费短信通知接口;发送邮件模块我用的是smtplib,发送邮件服务器用的是163邮箱,如果用163邮箱的话,你还没有设置客户端授权密码,记得先设置客户端授权密码就好了,挺方便的。以下是主要实现代码:
说了那么多,感觉都是说了好多废话啊,哈哈,不好意思,耽误大家时间来看我瞎扯了,我贴上大家最关心的源码,请接码,大家在尝试运行过程中,有任何问题,可以给我留言或者私信我,我看到都会及时回复大家的:
小编整理了Python相关的资料,点击了解更多获取!
点击获取福利
每逢春节一票难求,用Python3.6实现12306火车票自动抢票省心省力相关推荐
- 五一出行一票难求,用Python实现12306火车票自动抢票,省心省力!
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网 ...
- Python3.6实现12306火车票自动抢票(内含源码)
最近在学Python,刚好过完年啦!大家应该都需要买高铁票继续去当打工人了吧!所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入 ...
- Python3.6实现12306火车票自动抢票,附源码
Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...
- Python3.6实现12306火车票自动抢票
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...
- python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码
原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...
- 如何用Python3实现12306火车票自动抢票,小白必学
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题:在进入正题之前,我想说明一下,由于12306官网的 ...
- Python脚本实现12306火车票自动抢票回家or旅游
最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...
- 【Bypass】12306铁路自动抢票软件,增强通知
Bypass12306分流抢票软件(全自动抢票+后补) 一年一度的抢票大战又要开始啦.Bypass-(分流抢票),来自大佬@Cheney.小风,原12306Bypass分流抢票客户端,它是一款电脑端自 ...
- 火车票自动抢票新功能上线了!堪比抢票神器
端午节假日越来越近了,小编已开始频频收到好友们的助力抢票请求了. 假日出行回家已经迫不及待却抢不到火车票,各种加速软件层出不穷缺又抢不到十分尴尬,甚至还要花费一笔额外的加速费用-- 不过现在不用担心了 ...
最新文章
- 七个步骤,带你快速读懂 RPC 框架原理
- erlang OTP中的四大behaviour fsm的例子
- Python之异常追踪模块:traceback
- Django中celery配置总结
- 优化Flash中的3D模型加载
- Docker学习总结(35)——Docker全面认识再总结
- 对Windows学习的总结
- GitHub实现G D O S自动签到
- 应有那个数据库操作类的一个简单实例
- php呼伦贝尔,呼伦贝尔php培训
- FFmpeg 硬件加速介绍
- 如何使用Github实现协同工作(例子:两人合作写代码)
- Uphone开发心得
- 圣诞表白html,圣诞节表白语 圣诞节表白情话
- 最小错误率的贝叶斯决策和最大似然比判别规则
- [变分法介绍]优美的旋轮线:最速下降线问题,通过费马光学原理的初等证明
- 教程:微信公众号的链接如何提取出来?非常简单!
- TP真阳性, FP假阳性, FN假阴性, TN真阴性
- Java图形化界面编程超详细知识点(8)——列表框
- 在c语言中出现的int错误类型,【揭秘】C语言类型转换时发生了什么?