12306自动抢票

一、使用工具

1、Google Chrome 浏览器

2、fiddler4抓包工具

3、pycharm

4、python3.6

二、抓取网页请求

1、首先打开Google Chrome 浏览器完成一遍买票过程,登录--查询--买票。使用fiddler抓包工具抓取。

#登录网站:

https://kyfw.12306.cn/otn/login/init

三、详细分析

1、登录

验证码校验:https://kyfw.12306.cn/passport/captcha/captcha-check

校验成功如下:圈出来的就是所需要输入的验证码,其实就是正确答案的坐标

这个验证码坐标可以通过以下方式获取: 1、手动输入 2、自动识别(http://littlebigluo.qicp.net:47720),打开这个页面你就懂了。

密码校验:https://kyfw.12306.cn/passport/web/login

返回给我一个这个玩意儿,不知道干嘛的,留着呗 uamtk=p5sbjTadftLXTWk4D1PopeKUsOSGGw6qKrasNZyTUeQnx1110

https://kyfw.12306.cn/passport/web/auth/uamtk

返回: newapptk=J0_e7wT42T96NRjEHRDgRtJi0DzmNXpzbAldAZZVgUE731110

https://kyfw.12306.cn/otn/uamauthclient

这不newapptk这个玩意儿就用上了

到这里已经返回了正确的用户名了,算是成功登陆了。 我们可以访问下下面两个页面试试。 https://kyfw.12306.cn/otn/view/index.html https://kyfw.12306.cn/otn/index/initMy12306

2、余票查询

登录好了就开始查票

https://kyfw.12306.cn/otn/leftTicket/queryX?leftTicketDTO.traindate=2019-04-04&leftTicketDTO.fromstation=RQW&leftTicketDTO.tostation=IZQ&purposecodes=ADULT

我们选择D1801这趟车 CrFDowh0bnbtKqq0rRcDgziY%2B0SoJKJRLttdCZ1GmAgdASdLY%2FRLgJecq0FtY52GcUSF8dRXxzM8%0AHAe%2BHc7bB8tdlAFSD5lC3ZDb7N%2BAizlYTGrFY1JeQfgzixu51UsAuYLt3DXmnq%2BIqxd2D8zIlGtS%0AnbifCQoIaY9Z9GJLeIQyOERSfMwtp1V8Rg84W89eQmCbYLyDRCB8PCUZ8X8d9KixIu9fuywpa1%2Fn%0A4btDGq79FsKwMSthrVIts3xuz0NauWcm5vfOoGDEv4YmRaXGu6kAyDKmtp054YZ9Zj6huQEPXwit%0A 这串东西我们先留着

https://kyfw.12306.cn/otn/login/checkUser

这里又进行了一次登录检查

https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest

开始提交我们的预订车次信息,刚那串长长的玩意儿丢到这里用

https://kyfw.12306.cn/otn/confirmPassenger/initDc

打印返回的text,一大堆看不懂的东西,放这儿吧

https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs

圈圈里面的东西,怎么获取呢 复制下来 到刚刚那个text里面去查询一下,还真有

https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo

&passengerTicketStr=O%2C0%2C1%2C%E6%9D%A8%E5%BB%BA%E9%94%8B%2C1%2C441223198703032012%2C%2CN&oldPassengerStr=%E6%9D%A8%E5%BB%BA%E9%94%8B%2C1%2C441223198703032012%2C1_

这堆东西又从哪里来呢 这么多%估计是url编码的,用 print(urllib.parse.unquote(string))给他翻译下,发现这就是我们乘车人的一些信息

https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs 访问这个网页时貌似得到过这些东西,提取一下就好了

https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount

又是一堆看不懂的参数。。。。 老规矩带%的丢到去翻译一下 leftTicket=kxUp7XgcTQj3YZbvwkh6xKaHiyHZoYxiSMaCDYK%252BJkh6wpD7 这个leftTicket实在是找不到从哪里获取了,又丢到上面text去find,果然又在这里。。。

https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue

除了keycheckisChange=1483D47DB73CEABDA70FC4E4B5A169C976A06CAA04B9C20504B59257 其它的貌似都能找到了,没办法又去text找呗,又一次找到了我们需要的东西

突然反应过来,这不已经提交订单了?

https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime?random=1552458550174&tourFlag=dc&jsonatt=&REPEATSUBMITTOKEN=7a8ee5c5f8a3ba4bd306781bae3e60e2

WaitTime?这不是让我们等待嘛,那就等呗

等待的结果就是orderId从orderId=(null)变成了orderId=E265371621

https://kyfw.12306.cn/otn/confirmPassenger/resultOrderForDcQueue

不用多说了吧 把上面的orderId丢过来

这已经是抢票的最后一步了,打开12306你会发现火车票已经在这等着你支付了

再接下来无非就是邮件、短信、qq、微信等提醒支付的操作了。

四、代码编写整合

有需要代码的朋友,留言评论哟。

python12306自动抢票为什么进入个人中心_python 12306自动抢票相关推荐

  1. 12306自动刷票下单-下单(三)

    12306自动刷票下单-登录篇(一) 12306自动刷票下单-查票预定(二) 下单 进入下单界面了  https://kyfw.12306.cn/otn/confirmPassenger/initDc ...

  2. 12306自动抢票软件哪个好?记者亲测体验

    春运期间的火车票可谓一票难求,广大购票者抢票需求难以满足.在网上,铺天盖地的抢票插件也弄不清到底选哪家好.不要急,下面为大家介绍几款小编亲身实践过的功能强大的抢票软件,希望可以帮助大家顺利回家过年! ...

  3. python github 12306 文贤平_GitHub - itsmartkit/12306-Ticket-Booking: 12306自动抢票系统(2020-01-10)...

    基于Python的12306自动订票系统 系统功能 1.余票监控:发现余票自动下单 2.自动打码:采用第三方免费接口/本地识别算法两种模式,自动验证图片验证码 3.小黑屋:发展有余票但是下单失败的车次 ...

  4. 基于python的12306自动抢票系统的设计与实现

    铁路售票系统12306网站作为一个广受人们的日常使用工具,受大极大的关注.铁路售票的管理者都主要考虑降低成本,提升售票服务满意度.一年一度的春运和节假日出行高峰期,给众多的出行群众者带来了极大的烦恼, ...

  5. python 100行代码实现 12306 自动抢票

    基于Selenium和Chrome浏览器实现. 默认抢票类型为普通票,硬座.需求多的话可以在源码里改,我写的注释挺详细. 复制粘贴就能使用,2019年8月13日 测试可用. from selenium ...

  6. 12306自动抢票及自动识别验证码功能(二)

    这几天用keras+tensorflow训练了下验证码,弄了一个gpu的显卡,训练速度杠杠的^_^, 准度直接提升了几个档次,(小白阶段只会用框架^_^),图片识别准度基本达到96%,文字识别无限接近 ...

  7. 12306自动抢票及自动识别验证码功能(一)

    其实12306抢票之前有做过,近年来随着技术的发展AI的兴起,我也随波逐流,研究了下python深度学习,来实现12306全自动抢票工具. 1. 实现12306自动识别验证码,我这里用的比较简单,目前 ...

  8. 今日可抢回程火车票,实测两款GitHub开源抢票插件,所有坑我们都帮你踩过了...

    晓查 郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天,已经可以抢过完年回来的火车票了. 如果你对自己手速和市面上的各种"加速包"都没什么信心的话,不妨试试用程序 ...

  9. python 12306查询不到车次_python实现自动抢12306火车票,妈妈再也不用担心我没有车回去了...

    转眼,2018还有几天就过去了,新年也不远了. 无论是在上学的,还是上班的.新年,我们需要一张火车票,回家看看自己的老爹老母亲. 中国这么多亿人口,我们怎么能愉快地.优雅地拿到一张火车票呢? pyth ...

  10. python编写抢座位软件_程序员硬核Python抢票教程”,帮你抢回家车票

    盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票. 据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%,达到4.4亿人次,2020年铁路春运自1月10日开始 ...

最新文章

  1. 基于C++实现线程池加速
  2. 事务隔离性与隔离级别
  3. java正则表示判断。是否以某个关键字结尾的
  4. 机器学习Sklearn实战——线性回归
  5. PowerPC VxWorks BSP分析(2)--PowerPC汇编
  6. Linux基础(九)--定时任务
  7. 计算机技术知识字,计算机基础知识
  8. WPF读写config配置文件
  9. mysql 交集_面试官:来说说MySQL的常见优化方案……
  10. Unable to add window -- token null is not for an application
  11. RapidMiner Studio 设计视图
  12. rust执行cmd命令隐藏窗口
  13. VirtualBox增强功能无法安装
  14. 基于web的实验室设备管理系统
  15. 计算机网络教程第六章应用层课后习题答案
  16. day3.python基础中下
  17. Android 接收和收发短信
  18. 特写:美国B2C网站惨淡经营
  19. 同时使用 IE7 和 IE6 的方法
  20. 【Unity3D游戏开发学习笔记】(六)上帝之手—GameObject的操作

热门文章

  1. Oracle表归档,oracle数据库归档详解
  2. Ecshop3.x漏洞复现
  3. 利用高德地图周边搜索api获取不同类型的餐厅推荐
  4. ps怎么保存一小块的图片_ps中怎么保存图片
  5. 疯狂创客圈 JAVA 高并发 总目录
  6. 你想要的虚幻UE游戏人物模型素材都在这里,细致又齐全
  7. 日式卡通渲染的效果的unity实现
  8. 工作量与工作历时计算
  9. 书单|互联网企业面试案头书之运营篇
  10. 磊科路由器信号按键_怎样隐藏磊科路由器WiFi信号