[爬虫]微博宫格验证码识别(3.1)
Posted 兴华python笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[爬虫]微博宫格验证码识别(3.1)相关的知识,希望对你有一定的参考价值。
验证码识别成为了对抗反爬虫的必修课之一,本专题将着重学习记录不同的验证码识别方式:图像验证码、极验滑动验证码、点触验证码、宫格验证码。
微博宫格验证码
识别效果:
识别思路:
验证码包含四个宫格,每个宫格有都有一条连线经过,并且起点到终点的各个线段有箭头标识,不难计算出其一共有4*3*2*1=24种组合方式。所以把每种验证码模板保存下来,再和待识别验证码比对,就可以判断其属于哪种路径。
模板如下图,按照路径将其重命名。
模板获取代码如下:
首先导入所需要的包,以及定义微博账号密码和图片保存路径。微博账号密码可以通过淘宝购买。
保存所有截图并进行整理过后,调用get_image()方法,得到验证码图片对象,和模板进行一一比对,若匹配成功,则将模板文件名转换为列表,如
4231.png - - > [4,2,3,1]
比对方法如下:
获取截图,与每张模板进行比对(detect_image),遍历像素(is_pixe_equal),如果相同,计数加 1 ,最后计算相同像素点占总像素的比例(same_image),若为0.99以上,代表匹配成功,返回拖动顺序(detect_image)。
获取拖动顺序,根据其顺序拖动鼠标,连接宫格:
命令行输出结果如下:
关键字总结
模板匹配
os.listdir
模拟拖动(ActionChains)
以上是关于[爬虫]微博宫格验证码识别(3.1)的主要内容,如果未能解决你的问题,请参考以下文章