利用Python代码自动抢火车票的原理以及代码解析

马哥Linux运维 2018-01-13 10:32 次阅读

今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool。

准备工具:

12306网站用户名和密码

Python 2.7

chrome浏览器及下载chromedriver

下载Python代码

代码用的Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互。Splinter执行的时候会自动打开你指定的浏览器,访问指定的URL。然后你所开发的模拟的任何行为,都会自动完成,你只需要坐在电脑面前,像看电影一样看着屏幕上各种动作自动完成然后收集结果即可。

了解原理:

找到相应URL,找到控件模拟登录、查询、订票操作。关键是找到控件名称,难点是起始地不是直接输入的页面值,需要在cookie中查出。

12306查询URL:

12306登录URL:

我的12306URL:

购票确认URL:

Python代码打开URL,找到控件填充值:

利用Python代码自动抢火车票的原理以及代码解析

找到用户名密码控件名

找到起始地控件名

确定起始地的值,方法Chrome浏览器中的“检查”功能(按F12),Network ---> Cookies中找到:

cookie中起始地的值

拷贝起始地的cookie值,我把几个常用的城市拷出来,放到了字典中:

查询车票代码:

其实,你只需要运行代码:

当然,还需要手动点一下的还是万恶的12306验证码,抢到票后确认支付就行啦。

抢票进行中

抢票成功!

原文标题:100行Python代码自动抢火车票!

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

谁可以告诉我pyrealsense2控制深度曝光的方法或代码?

比如realsenseviewer,我想用pyrealsense2来控制深度曝光水平。 所以我正在寻找一个解释,但我还没有发现任何相关的东西。 谁可...

发表于 10-16 16:45 18次 阅读
谁可以告诉我pyrealsense2控制深度曝光的方法或代码?

数学推导+纯Python实现机器学习算法

跟上一讲写线性模型一样,在实际动手写之前我们需要理清楚思路。要写一个完整的逻辑回归模型我们需要:s....

的头像 人工智能爱好者社区 发表于 10-16 16:12 112次 阅读
数学推导+纯Python实现机器学习算法

用Python编写模块有何技巧?

Python不是一个封闭的体系,而是一个开放系统。开放系统的最大好处就是避免了“熵增”。

的头像 嵌入式资讯精选 发表于 10-16 15:53 64次 阅读
用Python编写模块有何技巧?

TPYBoardV201温湿度上传教程

    历来关于温湿度的检测都是没有间断过的,这次我们继续检测温湿度,同样还是使用DHT11来检测。但是这次检测到的...

发表于 10-16 14:28 53次 阅读
TPYBoardV201温湿度上传教程

Python入门之Python基础教程资料免费下载

Python 是种易学而强大的编程语言 。 它包含了高效的高级数据结构 , 能够用简单而高效的方式进....

发表于 10-16 08:00 18次 阅读
Python入门之Python基础教程资料免费下载

linux内核入门教材之linux内核设计与实现第二版中文版免费下载

此书是当今首屈一指的linux内核入门最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通....

发表于 10-15 18:20 16次 阅读
linux内核入门教材之linux内核设计与实现第二版中文版免费下载

零经验也可轻松学习《Python编程快速上手-让繁琐工作自动化》

《Python编程快速上手—让繁琐工作自动化》是畅销Python编程图书,帮助你通过编程快速实现工作自动化。在本书中,你将学习利用...

发表于 10-15 16:47 219次 阅读
零经验也可轻松学习《Python编程快速上手-让繁琐工作自动化》

DATALOGIC的CBX100读码器的详细资料合集免费下载

本文档的主要内容详细介绍的是DATALOGIC读码器的详细资料合集免费下载包括了:DLCODE中文简....

发表于 10-15 08:00 7次 阅读
DATALOGIC的CBX100读码器的详细资料合集免费下载

推荐系统中的EE问题及解决问题的基本Bandit算法详细概述

Exploration and Exploitation(EE问题,探索与开发)是计算广告和推荐系统....

的头像 人工智能爱好者社区 发表于 10-14 10:48 153次 阅读
推荐系统中的EE问题及解决问题的基本Bandit算法详细概述

7个Python调试通过的代码详细资料分析

"Python的应用十分广泛,今天我们来分享7个Python实战项目代码,希望你有所收获。

的头像 马哥Linux运维 发表于 10-14 09:46 258次 阅读
7个Python调试通过的代码详细资料分析

S29AL016J代码下载错误

HI团队我使用S29 ALL 016J为我的项目,我有问题下载代码到它,我已经创建了一个闪存ALGO,但每当它给一个闪光灯超时错...

发表于 10-12 15:40 32次 阅读
S29AL016J代码下载错误

关于从pyrealsense2中的'pc.calculate'获取的点云的问题

我使用python包装器中的代码来获取点云: depth = frames.get_depth_frame() color = frames.get_color_frame() 如果不是...

发表于 10-12 11:50 37次 阅读
关于从pyrealsense2中的'pc.calculate'获取的点云的问题

成为Python工程师需要哪些技能

掌握计算机的构成和工作原理

的头像 工程师人生 发表于 10-12 09:54 209次 阅读
成为Python工程师需要哪些技能

有没人有EXECUTE CLEAR这个问题

我们最近将所有程序从Vee5升级到Vee9。 在每个实例中,在V5中执行完美的程序现在会在V9中崩溃,我们有“EXECUTE CL...

发表于 10-11 16:46 26次 阅读
有没人有EXECUTE CLEAR这个问题

深度数据输出具有许多零距离

我正在编写python应用程序来测量从D435到障碍物的距离。 我在GitHub中找到了简单的对齐代码,然后我下载并运行它。 主机上的...

发表于 10-11 14:22 15次 阅读
深度数据输出具有许多零距离

代码在头文件中定义了宏,在行的末尾有一个“\”,这是什么目的?

我有一些代码,我下载和已经研究,在头文件是宏的定义有一个“\”在最后的线,这是什么目的? 以上来自于百度翻译 &nbs...

发表于 10-11 08:41 32次 阅读
代码在头文件中定义了宏,在行的末尾有一个“\”,这是什么目的?

python基础教程(含100例程和crossin全60课)

python基础入门100例程序包含了100个python入门的小例子,包括了基础语法,数据结构,控制流,类继承等基础知识的训练和,很适合...

发表于 10-10 13:41 1538次 阅读
python基础教程(含100例程和crossin全60课)

模拟了代码生成了位文件实现到套件中模拟输出没有出现在板上

我模拟了我的代码,并成功生成了位文件..同时实现到套件中..预期的模拟输出不会出现在板上.. 以上来自于谷歌翻译 以下为原...

发表于 10-10 11:01 20次 阅读
模拟了代码生成了位文件实现到套件中模拟输出没有出现在板上

8X8点阵屏显示原理是怎样的?及C程序代码资料免费下载

由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,只要行驱动或是列驱动接三极管就可以,不....

发表于 10-10 08:00 41次 阅读
8X8点阵屏显示原理是怎样的?及C程序代码资料免费下载

ug1292时序收敛快速参考手册

这个手册与ug949的理念是一致的即”尽可能地把所有问题放在设计初期解决“。宁可在设计初期花费更多的....

的头像 电子发烧友网工程师 发表于 10-09 10:52 170次 阅读
ug1292时序收敛快速参考手册

浅谈Python语言

python是目前市面上,我个人认为是最简洁&&最优雅&&最有钱途&&最全能的编程语言,没有之一。所....

发表于 10-09 09:45 216次 阅读
浅谈Python语言

jQuery教程之jQuery权威指南实战资料电子教材免费下载

本书由国内资深Web技术专家亲自执笔.4大Web开发社区一致鼎力推荐,权威性毋庸置疑。内容新颖,基于....

发表于 10-09 08:00 27次 阅读
jQuery教程之jQuery权威指南实战资料电子教材免费下载

将Python数据处理速度提升2~6倍的简单方法

让我们举一个简单的例子,我们在一个文件夹中有一个图像数据集; 或者我们甚至有成千上万的图像!为了节省....

的头像 新智元 发表于 10-08 10:56 329次 阅读
将Python数据处理速度提升2~6倍的简单方法

Python的受欢迎程度真的能超越JavaScript吗?

可以发现,有69.8%的受访用户表示支持JavaScript,而稳定使用Python的用户只占38.....

的头像 论智 发表于 10-08 09:02 708次 阅读
Python的受欢迎程度真的能超越JavaScript吗?

怎么有效学习Python数据分析?Python数据分析基础电子教材免费下载

本书展示如何用 Python 程序将不同格式的数据处理和分析任务规模化和自动化。主要内容包括 :Py....

发表于 10-08 08:00 62次 阅读
怎么有效学习Python数据分析?Python数据分析基础电子教材免费下载

飞思卡尔Freescale 9s12单片机资源代码免费下载

本文档的主要内容详细介绍的是飞思卡尔Freescale 9s12单片机资源代码免费下载,对Frees....

发表于 10-08 08:00 27次 阅读
飞思卡尔Freescale 9s12单片机资源代码免费下载

树莓派自动驾驶:使用 Keras 与 Tensorflow 构建车道跟踪自动汽车

无人驾驶虽然入门门槛很高,但是还是可以通过一些简化的模型迅速上手。例如比较有名的DonkeyCar,....

的头像 基于树莓派的自动驾驶 发表于 10-07 17:59 352次 阅读
树莓派自动驾驶:使用 Keras 与 Tensorflow 构建车道跟踪自动汽车

编程语言Java和Python对比哪个比较好

Python挺适合入门的,看起来很简单,适合创业团队,可以快速开发,快速上线,快速迭代。适合特种部队....

的头像 我快闭嘴 发表于 10-06 15:27 210次 阅读
编程语言Java和Python对比哪个比较好

Python开发的Pipenv能解决什么问题

让我们回到第一个 Python 版本,这时我们有了 Python,但是没有干净的方法来安装软件包。

的头像 我快闭嘴 发表于 10-06 14:27 153次 阅读
Python开发的Pipenv能解决什么问题

Python语言将如何继续发展?

不管我们如何希望PHP永远天下第一,亦或是Java永久无敌,更或者希望C语言永远是最好的语言。

的头像 马哥Linux运维 发表于 10-05 09:13 79次 阅读
Python语言将如何继续发展?

Pipenv - 官方推荐的的python包管理工具

它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在Pipfile中添加/移除相应的....

的头像 马哥Linux运维 发表于 10-04 15:02 156次 阅读
Pipenv - 官方推荐的的python包管理工具

用户画像番外篇之随笔三则

激活注册转化率:用户从应用商店下载APP后,不一定都会有注册行为。对于刷下载量、用户为抢红包、赚积分....

的头像 人工智能爱好者社区 发表于 10-04 10:27 209次 阅读
用户画像番外篇之随笔三则

如何构建检测信用卡诈骗的机器学习模型?

对信用卡交易数据建立检测模型,使用Python库进行预处理与机器学习建模工作,代码通俗易懂。包括数据....

的头像 人工智能 发表于 10-04 09:44 106次 阅读
如何构建检测信用卡诈骗的机器学习模型?

以《猫和老鼠》为例,计算任意视频中汤姆猫和杰瑞鼠的出镜时长

现在我们要下载视频,并将它转换成帧的形式。首先我们可以用VideoCapture( )函数从给定目录....

的头像 新智元 发表于 10-04 08:49 148次 阅读
以《猫和老鼠》为例,计算任意视频中汤姆猫和杰瑞鼠的出镜时长

DCS工艺流程图中常见的图形符号及代码识别你了解吗?

每一个项目在投标前都会经设计院设计工艺流程图,然后投标者依据流程图上标识的DCS控制点及设备连接线路....

的头像 工控资料窝 发表于 10-03 18:26 221次 阅读
DCS工艺流程图中常见的图形符号及代码识别你了解吗?

MyQR一个简单又好玩的Python库快来制作专属你动态二维码吧!

发现一个好玩有趣的库,可以用来花色生成各种二维码,最好玩的地方是可以生成彩色的动态二维码,见过了太多....

的头像 人工智能和机器人研究院 发表于 10-03 12:48 177次 阅读
MyQR一个简单又好玩的Python库快来制作专属你动态二维码吧!

如何利用Python实现实时监控别人微博动态

前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发....

的头像 马哥Linux运维 发表于 10-03 12:32 300次 阅读
如何利用Python实现实时监控别人微博动态

2018年受到众多开发者关注的7个Python类库

几个还不太知名的库引起了Python开发者的关注。

的头像 马哥Linux运维 发表于 10-02 09:30 374次 阅读
2018年受到众多开发者关注的7个Python类库

十个最受欢迎的Python机器学习库盘点

Python已成为机器学习领域最热门的编程语言之一。

的头像 智车科技 发表于 10-02 08:47 1013次 阅读
十个最受欢迎的Python机器学习库盘点

Linux引发争议,贡献者能否删除上传的代码?

多位贡献者和社区成员对 COC 进行批判和反对,甚至有人在邮件列表发起了撤销贡献代码的讨论。

的头像 Linux爱好者 发表于 09-30 14:46 222次 阅读
Linux引发争议,贡献者能否删除上传的代码?

Python变量很难记?常见的解决办法有三种

在PEP 484中,引入了Type Hints,在PEP 526中引入了Variable Annot....

的头像 马哥Linux运维 发表于 09-30 09:10 257次 阅读
Python变量很难记?常见的解决办法有三种

如何使用Python来设计和实现语料分析系统设计?

语料分析系统是利用计算机软件技术实现语料分析与研究的重要手段,利用它可以实现对大量语料的分析、词语1....

发表于 09-29 17:23 65次 阅读
如何使用Python来设计和实现语料分析系统设计?

用Python爬取拉勾网不同编程语言职位信息

这张图告诉我们,在大部分情况下,没(Ren)钱(Chou)就要多读书。不管是经验经验1年以下、经验3....

的头像 人工智能 发表于 09-29 16:51 386次 阅读
用Python爬取拉勾网不同编程语言职位信息

迭代器和生成器的区别

经由内存池登记的内存到最后还是会回收到内存池,并不会调用 C 的 free 释放掉.以便下次使用.对....

的头像 马哥Linux运维 发表于 09-29 15:41 333次 阅读
迭代器和生成器的区别

算法是什么?python的时间,空间复杂度和常用算法实例说明免费下载

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系....

发表于 09-29 08:00 43次 阅读
算法是什么?python的时间,空间复杂度和常用算法实例说明免费下载

Python基础教程之《Python机器学习—预测分析核心算法》免费下载

 在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知所措。本书从算法和 Py....

发表于 09-29 08:00 50次 阅读
Python基础教程之《Python机器学习—预测分析核心算法》免费下载

关于Python 新手不得不知道

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

发表于 09-28 17:18 179次 阅读
关于Python 新手不得不知道

java教程之Swing用户界面组件的详细资料介绍免费下载

在Java语言中,有两个Swing组件用于得到文本输入:文本域(JTextField)和文本区(JT....

发表于 09-28 17:15 37次 阅读
java教程之Swing用户界面组件的详细资料介绍免费下载

解析媒体矩阵的Python编程函数讲解资料免费下载

每种计算机语言都会遇到这样的应用情况:程序中会出现重复执行的语句。尽管可以用复制/ 粘贴的方式重复代....

发表于 09-28 16:57 46次 阅读
解析媒体矩阵的Python编程函数讲解资料免费下载

R和Python,哪个对数据科学初学者更友好?

我想强调的是,这主要不是少打几个字的问题,而是形成“恰当的”心智模型的问题。许多人抱怨R代码很慢,9....

的头像 论智 发表于 09-28 08:59 200次 阅读
R和Python,哪个对数据科学初学者更友好?

Google的C++代码规范是全球最好的一份C++代码规范

个人感受:这种做法可以从一开始就避免一些bug的出现,或更容易解决一些bug。构造函数+Init()....

的头像 C语言专家集中营 发表于 09-27 17:54 317次 阅读
Google的C++代码规范是全球最好的一份C++代码规范

如何在Linux录制一个终端操作视频详细资料分析

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂....

发表于 09-27 16:32 39次 阅读
如何在Linux录制一个终端操作视频详细资料分析

protobuf是什么?protobuf有什么作用支持什么数据类型?

protobuf是google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用....

发表于 09-27 16:29 43次 阅读
protobuf是什么?protobuf有什么作用支持什么数据类型?

python的文件夹与文件如何进行操作?

最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我....

发表于 09-27 16:04 42次 阅读
python的文件夹与文件如何进行操作?

嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

本书从嵌入式Linux 的基础知识、系统环境搭建到综合应用,共分三个层次深入浅出地为读者拨开萦绕于嵌....

发表于 09-27 14:49 52次 阅读
嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

Python用于计量经济学、统计和数据分析的详细资料导论免费下载

这些注释是专门为希望开发使用Python进行原始研究所必需的一组技能的统计计算新手设计的。对于那些需....

发表于 09-26 10:32 64次 阅读
Python用于计量经济学、统计和数据分析的详细资料导论免费下载

只有从事20-50年编程才知道的事情

我们不再需要更多的编程语言了。不过,你还是会立马跑去开发一个新语言。让我猜一下,你所谓的“神奇”的语....

的头像 新智元 发表于 09-25 09:10 245次 阅读
只有从事20-50年编程才知道的事情

Python爬虫教程之如何使用Python爬虫收集高考满分作文

在互联网日益发展的今天,计算机应用成为生活中不可或缺的一部分。本文所介绍的网络爬虫程序,是从一个庞大....

发表于 09-25 08:00 79次 阅读
Python爬虫教程之如何使用Python爬虫收集高考满分作文

如何使用Pythonc进行简化测试?

最近出现了行业级的 Python 测试框架,这意味着 Python 测试可以编写得更简洁、更统一,能....

发表于 09-21 16:16 42次 阅读
如何使用Pythonc进行简化测试?