加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

12306的变态验证码算什么?我有Python神器!

发布时间:2018-03-19 15:44:01 所属栏目:教程 来源:51CTO
导读:副标题#e# 前言:大家跟我一起念,Python大Fa好,跟着本宝宝用Python抢火车票! 首先我们需要splinter 安装: pipinstallsplinter-ihttp://pypi.douban.com/simpletrusted-hostpypi.douban.com 然后还需要一个浏览器的驱动,当然用chrome啦 下载地址: http

先说第一个方法吧,这个比较简单,不需要用到其他库,单用splinter就够了,就先从简单的说起吧。

12306验证码 12306验证码识别 12306验证码不显示 12306验证码刷不出来

从我自己坐的火车线路来看,一共六趟,我只想做高铁,那么我一直点高铁的那一趟预订是不是就够了,当然是!!

一共六个预订,我的预订在第二个,索引值自然在1了啦。(会python的不会问我为什么的吧!!!)

b.find_by_text(u”预订”)[1].click()

然后如果预订成功

应该跳转到选择乘客的位置,

我们就需要按需选择乘客了

12306验证码 12306验证码识别 12306验证码不显示 12306验证码刷不出来

b.find_by_text(u"你的姓名")[1].click() 1  b.find_by_text(u"你的姓名")[1].click()

然后第一种方法基本讲解完毕。

上面的步骤摞在一起其实不过100行。

然后应该有第三种方法,就是利用默认的自动查询,默认是5秒刷新一次,但是大家都知道,春运期间5秒的区间太长了,怎么办呢?

Chrome的F12一下,点击Console

12306验证码 12306验证码识别 12306验证码不显示 12306验证码刷不出来

输入autoSearchTime=xxx

默认是毫秒为单位也就是说,默认5000ms,但是不要修改太小,会被侦测到然后报网络繁忙!!!我改成1000ms似乎只能刷十到十五次就报网络繁忙了。

其实,用Python刷票也是为了,没抢到,把刷新页面定向抢票的进程挂起,我们就不用时时刻刻去刷了,至于源码,留驱动都在下面的链接了~~代码还有很多不足,以及写的不够优雅,大家可以参考一下,根据实际情况随便修改!

所谓源码:http://pan.baidu.com/s/1gdTu7cR

驱动:http://pan.baidu.com/s/1pJGOx55

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读