最近在学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火车票自动抢票省心省力相关推荐

  1. 五一出行一票难求,用Python实现12306火车票自动抢票,省心省力!

    最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 在进入正题之前,我想说明一下,由于12306官网 ...

  2. Python3.6实现12306火车票自动抢票(内含源码)

    最近在学Python,刚好过完年啦!大家应该都需要买高铁票继续去当打工人了吧!所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入 ...

  3. Python3.6实现12306火车票自动抢票,附源码

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  4. Python3.6实现12306火车票自动抢票

    最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...

  5. python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码

    原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...

  6. 如何用Python3实现12306火车票自动抢票,小白必学

    最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题:在进入正题之前,我想说明一下,由于12306官网的 ...

  7. Python脚本实现12306火车票自动抢票回家or旅游

    最近在学Python,所以用Python写了这个12306抢票脚本,分享出来,与大家共同交流和学习,有不对的地方,请大家多多指正.话不多说,进入正题: 这个脚本目前只能刷一趟车的,人数可以是多个,支持 ...

  8. 【Bypass】12306铁路自动抢票软件,增强通知

    Bypass12306分流抢票软件(全自动抢票+后补) 一年一度的抢票大战又要开始啦.Bypass-(分流抢票),来自大佬@Cheney.小风,原12306Bypass分流抢票客户端,它是一款电脑端自 ...

  9. 火车票自动抢票新功能上线了!堪比抢票神器

    端午节假日越来越近了,小编已开始频频收到好友们的助力抢票请求了. 假日出行回家已经迫不及待却抢不到火车票,各种加速软件层出不穷缺又抢不到十分尴尬,甚至还要花费一笔额外的加速费用-- 不过现在不用担心了 ...

最新文章

  1. 七个步骤,带你快速读懂 RPC 框架原理
  2. erlang OTP中的四大behaviour fsm的例子
  3. Python之异常追踪模块:traceback
  4. Django中celery配置总结
  5. 优化Flash中的3D模型加载
  6. Docker学习总结(35)——Docker全面认识再总结
  7. 对Windows学习的总结
  8. GitHub实现G D O S自动签到
  9. 应有那个数据库操作类的一个简单实例
  10. php呼伦贝尔,呼伦贝尔php培训
  11. FFmpeg 硬件加速介绍
  12. 如何使用Github实现协同工作(例子:两人合作写代码)
  13. Uphone开发心得
  14. 圣诞表白html,圣诞节表白语 圣诞节表白情话
  15. 最小错误率的贝叶斯决策和最大似然比判别规则
  16. [变分法介绍]优美的旋轮线:最速下降线问题,通过费马光学原理的初等证明
  17. 教程:微信公众号的链接如何提取出来?非常简单!
  18. TP真阳性, FP假阳性, FN假阴性, TN真阴性
  19. Java图形化界面编程超详细知识点(8)——列表框
  20. 在c语言中出现的int错误类型,【揭秘】C语言类型转换时发生了什么?

热门文章

  1. 关于分片上传 php,php分片上传简单示例
  2. 关于如何插入网线(网线没网)的同时连接wifi上网
  3. 无线调度服务器中sdr是什么,SDR是什么意思
  4. Unity - 身体物理
  5. RHEL8.0 RedHat Linux 8.0 下载链接(免官网注册)
  6. Mac Mojave python 3.8.6实验tensorflow 2.4
  7. 运用TOOM舆情监测系统,抢占市场制高点!
  8. 【Algorithm】用JS刷剑指offer
  9. goahead(嵌入式Web服务器)之总结篇
  10. 配电网重构知识及matlab实现(2)