爬行者总是会遇到各种各样的反攀登限制。防爬的第一道防线通常出现在登录时。为了限制爬虫自动登录,每个公司都尽了最大努力。湖南。 今天我分享一个例子,如何简单地处理一个滑动图片的验证码。 类似于这种登录验证,类似于将滑块拖动到图片缝隙的位置,在很多网站或应用中比较常见,因为对真实用户体验友好,容易识别。同时,它可以阻塞大多数主要爬虫。 作为一个python爬虫,如何自动正确地完成这个验证过程? 我们先来分析一下。核心问题实际上是如何找到目标差距的位置。一旦我们知道了位置,我们就可以借用像selenium这样的工具来完成拖动操作。 我们可以借用opencv来解决这个问题,主要步骤如下: opencv是什么? OpenCV (Open Source Computer Vision Library)是一个开源的计算机视觉库。主要算法涉及图像处理、计算机视觉和机器学习等相关方法,可用于开发实时图像处理、计算机视觉和模式识别程序。 直接安装 首先对图像进行高斯模糊处理。高斯模糊的主要作用是降低图像的噪声,在预处理阶段使用。 处理后的效果 然后利用Canny边缘检测得到一幅包含“窄边界”的二值图像。所谓二值图像就是黑白图像,只有黑白。 找出所有的轮廓线,用红色线框画出并识别它们。可以看到大大小小的等高线有几十条 剩下的问题很容易处理。我们只需要限制轮廓的面积或周长,就可以过滤掉目标轮廓的位置,前提是目标位置的轮廓的大小是预先确定的。 等高线面积在6000 ~ 8000之间,周长在300 ~ 500之间。最后,利用外接矩形得到轮廓的坐标位置、宽度和高度。 目标位置如上所示,剩下的工作是将滑块移动到指定的位置。 |
Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )
GMT+8, 2025-1-18 18:54 , Processed in 0.016841 second(s), 15 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】