利用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运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

Python之父Guido van Rossum表示,他累了

“作为一个普通的核心开发者,我仍然会一直都在,而且我仍然可以指导人,或许可能有更多的时间,”他补充说....

的头像 新智元 发表于 07-16 09:40 48次 阅读
Python之父Guido van Rossum表示,他累了

Python 之父 退出Python 核心决策层,而转居幕后

发表于 07-14 17:45 130次 阅读
Python 之父  退出Python 核心决策层,而转居幕后

PYNQ 基于Zynq架构添加了对python的支持

PYNQ全称为Python Productivity for Zynq,即在原有Zynq架构的基础上....

发表于 07-14 09:05 50次 阅读
PYNQ 基于Zynq架构添加了对python的支持

Python将被抛弃?Python之父宣布推出Python核心决策层

昨天,Python 之父 Guido van Rossum 在 Python 邮件组里发邮称,他将退....

的头像 人工智能头条 发表于 07-14 09:01 211次 阅读
Python将被抛弃?Python之父宣布推出Python核心决策层

七夕快到了,教你用python去表白!

发表于 07-13 16:10 66次 阅读
七夕快到了,教你用python去表白!

十二大学习软件开发的新人必备技能详解

对于刚开始学习软件开发的新人来说,“必备技能”往往意味着一个长长的、标有重要度的学习列表,但是过长....

发表于 07-13 12:01 114次 阅读
十二大学习软件开发的新人必备技能详解

怎样用Python制作迷宫GIF 本文将告诉你诀窍

我是一个Python迷,并且对迷宫的生成和迷宫解决的办法非常感兴趣。我很羡慕别人能够做出生成迷宫的动....

的头像 马哥Linux运维 发表于 07-13 08:57 513次 阅读
怎样用Python制作迷宫GIF 本文将告诉你诀窍

单片机延时程序代码

发表于 07-13 00:21 29次 阅读
单片机延时程序代码

错误-2147319779发生于 InitStatusBar.vi->Main.vi中的库没有注册,请问哪位大神知道这是什么原因造成的错误代码吗?

发表于 07-12 15:39 75次 阅读
错误-2147319779发生于 InitStatusBar.vi->Main.vi中的库没有注册,请问哪位大神知道这是什么原因造成的错误代码吗?

一名IT工程师在Coverity的职业生涯

好久没有写博客,一方面因为工作太忙,另一方面是因为没有发现什么好写的。可是后来发现没什么好写的原因其....

的头像 工程师人生 发表于 07-12 14:47 98次 阅读
一名IT工程师在Coverity的职业生涯

Python小白对MQTT的初步理解

发表于 07-12 14:33 166次 阅读
Python小白对MQTT的初步理解

用python控制鼠标和键盘!

鼠标事件监听器是一个线程,所有的回调函数都会在独立的线程中运行。调用pynput.mouse.Lis....

的头像 马哥Linux运维 发表于 07-12 14:10 145次 阅读
用python控制鼠标和键盘!

TIOBE 7月编程语言指数排行榜已经公布,Python持续增长

TypeScript 似乎越来越受广大开发者的欢迎,上个月的榜单中,TypeScript首次进入 T....

的头像 算法与数据结构 发表于 07-11 16:02 325次 阅读
TIOBE 7月编程语言指数排行榜已经公布,Python持续增长

代码在未开优化和-o1的条件下可以跑出正确结果, 但是-o2和-o3条件下同样的输入输出结果出错,这是怎么一回事?

发表于 07-11 07:47 47次 阅读
代码在未开优化和-o1的条件下可以跑出正确结果, 但是-o2和-o3条件下同样的输入输出结果出错,这是怎么一回事?

长江后浪推前浪 昔日最有前途的 Java 最终还是败给了晚辈 Python

近日,打开科技新闻,映入眼前的是,阿里推全球首家人工智能服饰店、百度发布专门用于 AI 大规模运算的....

的头像 嵌入式资讯精选 发表于 07-10 16:33 289次 阅读
长江后浪推前浪 昔日最有前途的 Java 最终还是败给了晚辈 Python

提高Python运行效率的7个窍门

发表于 07-10 16:22 101次 阅读
提高Python运行效率的7个窍门

我们在使用Go语言编程之前有什么呢?为什么选择Go语言编程?

对于我们的案例,Go 语言由于自己的多线程模块和 CPU 可伸缩性获得了较好的性能。无论什么时候我们....

的头像 悟空智能科技 发表于 07-10 14:19 148次 阅读
我们在使用Go语言编程之前有什么呢?为什么选择Go语言编程?

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-10 10:57 27次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-10 10:57 31次 阅读
Python将是人工智能时代的最佳编程语言

嵌入式开发与单片机开发有什么区别

1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控....

发表于 07-09 11:57 23次 阅读
嵌入式开发与单片机开发有什么区别

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-09 11:57 36次 阅读
人生苦短,我选Python.

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-09 11:57 21次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-09 11:57 30次 阅读
Python将是人工智能时代的最佳编程语言

学习嵌入式有前途吗?

学习嵌入式有前途吗?很多计算机行业的人都有这个问题。在日益信息化的社会,计算机和网络已渗透到我们日常....

发表于 07-09 11:57 22次 阅读
学习嵌入式有前途吗?

嵌入式工程师的职业发展方向学习规划

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费....

发表于 07-09 11:57 23次 阅读
嵌入式工程师的职业发展方向学习规划

嵌入式的两大方向您了解吗?

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,它是各种电子产品的核心技术,也是工业4.0....

发表于 07-09 11:57 23次 阅读
嵌入式的两大方向您了解吗?

Linux是什么?

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年1....

发表于 07-09 11:57 61次 阅读
Linux是什么?

嵌入式系统发展前景好么?

嵌入式系统工程师机器语言程序员程序员嵌入式系统开发编程数据结构、内核操作系统

发表于 07-09 11:57 56次 阅读
嵌入式系统发展前景好么?

为什么要学嵌入式?学好嵌入式真的有发展前途吗?

1. IT行业在多年前就已经超越金融行业,成为平均薪资最高的行业,大家都纷纷开始想在IT行业谋得一席....

发表于 07-09 11:57 95次 阅读
为什么要学嵌入式?学好嵌入式真的有发展前途吗?

嵌入式linux学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过....

发表于 07-09 11:57 19次 阅读
嵌入式linux学习步骤

新手学习嵌入式的十大“不要”

随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有新手....

发表于 07-09 11:57 25次 阅读
新手学习嵌入式的十大“不要”

嵌入式开发与单片机开发有什么区别

1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控....

发表于 07-09 11:57 23次 阅读
嵌入式开发与单片机开发有什么区别

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-09 11:57 26次 阅读
人生苦短,我选Python.

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-09 11:57 61次 阅读
人生苦短,我选Python.

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-09 11:57 39次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-09 11:57 23次 阅读
Python将是人工智能时代的最佳编程语言

学习嵌入式有前途吗?

学习嵌入式有前途吗?很多计算机行业的人都有这个问题。在日益信息化的社会,计算机和网络已渗透到我们日常....

发表于 07-09 11:57 34次 阅读
学习嵌入式有前途吗?

嵌入式工程师的职业发展方向学习规划

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费....

发表于 07-09 11:57 36次 阅读
嵌入式工程师的职业发展方向学习规划

嵌入式的两大方向您了解吗?

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,它是各种电子产品的核心技术,也是工业4.0....

发表于 07-09 11:57 39次 阅读
嵌入式的两大方向您了解吗?

Linux是什么

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年1....

发表于 07-09 11:57 29次 阅读
Linux是什么

嵌入式系统发展前景好么?

嵌入式系统工程师机器语言程序员程序员嵌入式系统开发编程数据结构、内核操作系统

发表于 07-09 11:57 28次 阅读
嵌入式系统发展前景好么?

为什么要学嵌入式?学好嵌入式真的有发展前途吗?

1. IT行业在多年前就已经超越金融行业,成为平均薪资最高的行业,大家都纷纷开始想在IT行业谋得一席....

发表于 07-09 11:57 55次 阅读
为什么要学嵌入式?学好嵌入式真的有发展前途吗?

嵌入式linux学习步骤

1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过....

发表于 07-09 11:57 33次 阅读
嵌入式linux学习步骤

新手学习嵌入式的十大“不要”

随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有新手....

发表于 07-09 11:57 44次 阅读
新手学习嵌入式的十大“不要”

嵌入式开发与单片机开发有什么区别

1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控....

发表于 07-09 11:57 43次 阅读
嵌入式开发与单片机开发有什么区别

人生苦短,我选Python.

Python是一种什么语言?Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语....

发表于 07-09 11:57 27次 阅读
人生苦短,我选Python.

智慧人生,首选Python

你知道吗?Python已经入驻浙江省信息技术新‌‌教材,将被纳入高考科目。而且,根据国务院《新一代人....

发表于 07-09 11:57 30次 阅读
智慧人生,首选Python

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的....

发表于 07-09 11:57 40次 阅读
Python将是人工智能时代的最佳编程语言

MTCNN人脸检测的详细介绍及完整C++代码你能学会吗?

人脸检测 识别一直是图像算法领域一个主流话题。前年 SeetaFace 开源了人脸识别引擎,一度成为....

的头像 C语言专家集中营 发表于 07-09 11:02 178次 阅读
MTCNN人脸检测的详细介绍及完整C++代码你能学会吗?

如何写一个简短的Python代码做一个换脸程序的详细概述

在这篇文章中将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一....

的头像 马哥Linux运维 发表于 07-09 10:48 157次 阅读
如何写一个简短的Python代码做一个换脸程序的详细概述

Python官网宣布,正式发布Python 3.7.0!

通过推迟注释评估可以解决这两个问题。编译器不是编译在定义时在注释中执行表达式的代码,而是将注释以字符....

的头像 新智元 发表于 07-09 08:52 250次 阅读
Python官网宣布,正式发布Python 3.7.0!

工业机器人是用什么语言编程的?本文带你了解工业机器人的七种语言

硬件描述语言一般是用来描述电气的编程方式。这些语言对于一些机器人专家来说是相当熟悉的,因为他们习惯 ....

的头像 Imagination Tech 发表于 07-07 10:24 392次 阅读
工业机器人是用什么语言编程的?本文带你了解工业机器人的七种语言

一些奇妙的Python代码片段,让我们对Python里的一些细节有更广泛的认知

is和==是不一样的;is判断的是两个对象是否是同一个对象,而==判断的是两个对象的值是否相等;即i....

的头像 马哥Linux运维 发表于 07-06 17:16 230次 阅读
一些奇妙的Python代码片段,让我们对Python里的一些细节有更广泛的认知

Python也有这么强大的用处哦!用Python脚本自助抢课

随后我们发现这个网址括号围起来的一串信息有点诡异,而且每次进入的时候信息都不一样,经过资料查询,这是....

的头像 马哥Linux运维 发表于 07-06 11:20 250次 阅读
Python也有这么强大的用处哦!用Python脚本自助抢课

对大企业来说,python有什么好处?

Python是一个Charlie和我都非常了解的语言(尽管我现在比刚开始的时候了解的更多了)。我们也....

的头像 马哥Linux运维 发表于 07-06 11:17 193次 阅读
对大企业来说,python有什么好处?

学习Python大数据与机器学习必会Matplotlib知识

发表于 07-05 17:57 268次 阅读
学习Python大数据与机器学习必会Matplotlib知识

如下代码,请问为什么这个代码怎么就不能再虚拟显示器上输出?如何解决?

发表于 07-05 00:05 24次 阅读
如下代码,请问为什么这个代码怎么就不能再虚拟显示器上输出?如何解决?

谷歌深度学习插件tensorflow

发表于 07-04 13:46 354次 阅读
谷歌深度学习插件tensorflow