摘自:柠檬大数据
随着春节的临近,大家都在和12306斗智斗勇。今天,小编为大家分享不到100行的Python程序帮助大家来抢票。
首先说明一下,我们程序的出发点是能用机器做的事就用机器做,需要人来做的事还是要自己来做。因此,12306上五花八门的验证码还是需要大家自己动手输入确认的。另外,本程序对容错什么的考虑较少,请大家见谅。
我们要用到浏览器chrome,还没有安装的读者可以从这个下载地址下载chrome并进行安装:http://chromedriver.storage.googleapis.com/index.html?path=2.20/,大家可以根据自己的电脑系统选择下载包进行安装。如果你用的是MAC,可以直接通过brew install chromedriver来安装。
现在一切就绪,让我们学习一下这个Python程序。
Splinter是一个自动化测试网络应用的Python库。有了Splinter,就可以将打开浏览器、输入URL、填写表单、点击按钮等全部操作自动化。因此,我们需要引入这个库。通过pip install splinter来安装。
1 from splinter.browser import Browser
2 from time import sleep
#traceback模块被用来跟踪异常返回信息
3 import traceback
# 设定用户名,密码
4 username = u"用户名"
5 passwd = u"密码"
# 起始地址的cookies值要自己去找, 下面两个分别是上海, 营口东。如何找,我们在文#后有简单的介绍
6 starts = u"%u4E0A%u6D77%2CSHH"
7 ends = u"%u8425%u53E3%u4E1C%2CYGT"
# 时间格式2016-02-01
8 dtime = u"2016-02-01"
# 车次,选择第几趟,0则从上之下依次点击
<