小白教程

 找回密码
 立即注册
小白教程 首页 Python技术文章 查看内容

滑动验证码用Python爬虫进行破解

发布者: 小白教程

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

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-10 06:48 , Processed in 0.275198 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

返回顶部