用python抢火车票_用 Python 代码自动抢火车票
市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单。下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事。
该代码仅供参考,主要用于大家沟通交流,禁止用于商业用途。
具体代码如下,可以修改成自己的12306用户名账号:
准备工具
12306网站用户名和密码
Python
chrome浏览器及下载chromedriver
下载Python代码,位于:https://github.com/ppy2790/tickets
代码用的Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互。Splinter官网
http://splinter.readthedocs.io/en/latest/ 。Splinter执行的时候会自动打开你指定的浏览器,访问指定的URL。然后你所开发的模拟的任何行为,都会自动完成,你只需要坐在电脑面前,像看电影一样看着屏幕上各种动作自动完成然后收集结果即可。
了解原理
找到相应URL,找到控件模拟登录、查询、订票操作。关键是找到控件名称,难点是起始地不是直接输入的页面值,需要在cookie中查出。
12306查询URL:https://kyfw.12306.cn/otn/leftTicket/init
12306登录URL:https://kyfw.12306.cn/otn/login/init
我的12306URL:https://kyfw.12306.cn/otn/index/initMy12306
购票确认URL:https://kyfw.12306.cn/otn/confirmPassenger/initDc
Python代码打开URL,找到控件填充值:
找到用户名密码控件名
找到起始地控件名
确定起始地的值,方法Chrome浏览器中的“检查”功能(按F12),Network ---> Cookies中找到:
cookie中起始地的值
拷贝起始地的cookie值,我把几个常用的城市拷出来,放到了字典中:
查询车票代码:
其实,你只需要运行代码:
当然,还需要手动点一下的还是万恶的12306验证码,抢到票后确认支付就行啦。
抢票进行中
抢票成功!
用python抢火车票_用 Python 代码自动抢火车票相关推荐
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python写抢火车票软件_用 Python 代码自动抢火车票
市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单.下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事. 该代码仅供参考,主要用于大家沟通 ...
- python100行代码-100行Python代码自动抢火车票!
今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool. 先准备好: 1)12306网站用户名和密码 2)chrome浏览器及下载chromedriver 3)下载Python代码,来自网络整理 ...
- 用 Python 代码自动抢火车票
市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单.下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事. 该代码仅供参考,主要用于大家沟通 ...
- 手把手|100行Python代码自动抢火车票!(包教包会)
http://www.gzhshoulu.wang/article/1418146Python爱好者社区 又到一年一度春运大会,2017年春运抢火车票还是那么难,各大互联网公司都推出抢票服务,只要加钱 ...
- python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例
这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...
- 用python实现点阵屏_用Python代码来绘制彭罗斯点阵的教程
这里是显示彭罗斯点阵的Python的脚本.是的,这是可以运行的有效Phython代码. 译注:彭罗斯点阵,物理学术语.上世纪70年代英国数学家彭罗斯第一次提出了这个概念,称为彭罗斯点阵(Pen-ros ...
- python网页版_经典python学习教程:20行代码打造一个微信群聊助手,解放双手
今天的Python学习教程教大家如何用20行Python代码实现微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的 ...
最新文章
- .Net winform中嵌入Flash
- 工作project里的Verilog记录
- 软件实施培训前的准备工作
- 车间生产能耗管控方案_SAREN三仁净化工程:锂电池生产车间的设计规范及方案...
- MySql的连接查询
- windows便签快捷键_win10电脑有哪些常用的快捷键?
- Artech的MVC4框架学习——第八章View的呈现
- 7 大工具,驯服大数据
- 一文足以了解什么是 Java 中的锁
- 消息持续积压几小时怎么办
- SpannableString与SpannableStringBuilder
- C语言-超市仓库管理系统的设计与实现
- java 中文词性标注_使用opennlp进行词性标注
- IceSword(冰刃)V1.22 Final 绿色汉化修正版
- html做手机锁屏,手机个性锁屏怎么做?教你如何制作DIY手机锁屏
- keil如何添加h文件_被Keil坑了一天!实在太意外了!用Keil的来瞅瞅看
- Python实现PPT转化为Word和OCR识别
- MySQL数据库——MySQL INSERT:插入数据(添加数据)
- java基础之import语句_繁星漫天_新浪博客
- 详解如何获取深度学习模型中间层的输出值
热门文章
- HTML中的列表ol ul
- java阴阳师抽卡概率_阴阳师的抽卡活动概率究竟是真是假?
- 咱们军人也有射击游戏玩了:光荣使命
- matlab闰年,基于MATLAB的万年历计算
- 怎么写文案?第一段文案怎么写好?
- 如何将Ubuntu安装 到移动硬盘--操作系统随身携带
- 英飞凌TC397 BootLoader (SOTA)开发目录
- android 大学生生活助手,基于Android的大学生生活小助手设计与开发.doc
- 【Android 教程系列第 12 篇】常用 App 的 URL Scheme
- 基于小脑模型神经网络的轨迹跟踪研究(Matlab代码实现)