有一段时间没有使用Python了,前几天经朋友提起一篇关于用Python实现抢火车票的文章,百度了实现抢火车票的技术细节,网上却有不少资料,也不是新鲜的东西。在了解了一些技术手段,阅读了一些大神的博文后,也尝试实现了一下,代码写得粗糙,纯当娱乐,本文在Windows系统下完成。需要提到的是,抢票过程中的验证码部分只能手动完成。
首先,我需要的工具和组件有:
- Chrome浏览器
- 浏览器驱动ChromeDriver
- Python 3.5
- Web应用测试工具Splinter
Chrome浏览器可自行下载,其浏览器驱动ChromeDriver可在以下链接找到:http://chromedriver.storage.googleapis.com/index.html?path=2.20/
在官网下载Python,选择Windows x86 executable installer,安装过程中会一同安装IDLE、pip等等,可勾选选项添加Python为环境变量(在Windows cmd下运行Python,需要设置环境变量)。安装完成后,执行:pip install splinter安装Splinter即可。
基本的配置已完成,测试一下,cmd下运行Python,分别键入以下指令:
这个时候大家可能会遇到一些 情况
chromedriver.exe进程 会经常关闭
解决办法 :Chrome 版本第一点 52.XX.XX就可以 然后 去找对应版本的 chromedriver
- 1、下载ChromeDriver驱动包(下载地址: http://chromedriver.storage.googleapis.com/index.htmlpath=2.7/)
注意阅读note.txt下载与自己所使用浏览器一致版本的驱动包。
还有遇到环境变量的问题 这里大家可以直接 把 chromedriver.exe 复制到 Python安装目录下 Scripts 一份 和 C:WindowsSystem32 下一份
亲测
再试一下上边的代码 测试一下
附上 github代码 https://github.com/stay-youbg/python12306.git
这里的cookie值 可以 打开选票口 按F12 点击 查看 cookie