8.4-微博宫格验证码识别
本节我们将介绍新浪微博宫格验证码的识别。微博宫格验证码是一种新型交互式验证码,每个宫格之间会有一条指示连线,指示了应该的滑动轨迹。我们要按照滑动轨迹依次从起始宫格滑动到终止宫格,才可以完成验证,如图 8-24 所示。

图 8-24 验证码示例
鼠标滑动后的轨迹会以黄色的连线来标识,如图 8-25 所示。

图 8-25 滑动过程
访问新浪微博移动版登录页面,就可以看到如上验证码,链接为 https://passport.weibo.cn/signin/login。不是每次登录都会出现验证码,当频繁登录或者账号存在安全风险的时候,验证码才会出现。
我们的目标是用程序来识别并通过微博宫格验证码的验证。
本次我们使用的 Python 库是 Selenium,使用的浏览器为 Chrome,请确保已经正确安装好 Selenium 库、Chrome 浏览器,并配置好 ChromeDriver,相关流程可以参考第 1 章的说明。
识别从探寻规律入手。规律就是,此验证码的四个宫格一定是有连线经过的,每一条连线上都会相应的指示箭头,连线的形状多样,包括 C 型、Z 型、X 型等,如图 8-26、图 8-27 和图 8-28 所示。

图 8-26 C 型

图 8-27 Z 型

图 8-28 X 型
而同时我们发现同一种类型它的连线轨迹是相同的,唯一不同的就是连线的方向,如图 8-29、8-30 所示:

图 8-29 反向连线
