使用Python突破网站验证码限制

之前有小伙伴说,在web自动化的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证,今天专门给大家来聊聊验证码的问题。

常见的验证码一般分为两类,一类是图文验证码,一类是滑块验证码,今天主要来聊聊滑动验证码如何去识别破解。

一、滑动验证破解思路

关于滑动验证码破解的思路大体上来讲就是以下两个步骤:

  1. 获取滑块滑动的距离

  2. 模拟拖动滑块,通过验证。

看起来是很难,实际一点都不简单。但是获取滑块滑动的距离,大多数小伙伴没有思路,不知道怎么去获取。其实要获取下来也不难,关于这种滑动的验证码,滑块和缺口背景都是分别是一张独立的图片,我们可以把这两张图片,下载下来借助于图像识别的技术,去识别缺口在背景图中的位置,然后减去滑块当前所在位置,就可以得出需要滑动的距离。

这个时候很多小伙伴会想图像识别技术我不会啊,不会没有关系,后面会给到大家一个封装好的滑块识别模块,只要你传入滑块和缺口背景图的元素节点就能计算出滑块的缺口位置。

二、案例讲解

话不多说,我们先来看一个案例,这边用到了一个我自己封装的滑动距离识别的模块slideVerfication,有需要的小伙伴可以文末名片处获取。登录案例实现步骤如下:

  1. 创建一个driver对象,访问qq登录页面

  2. 输入账号密码

  3. 点击登录

  4. 模拟滑动验证

三、代码实现

关于滑动验证码的识别问题就这样解决了,那么接下来给大家来讲讲封装的slideVerfication这个模块的识别原理,其实关于这个模块图像识别,也是借助了第三方的图像处理模块来进行识别的,python中有很多现成的用来处理图片的库,这边我使用的是opencv-python来进行识别的。

slideVerfication模块上面用到的两个方法的部分参考代码如下:

根据传入滑块,和背景的节点,计算滑块的距离该方法只能计算 滑块和背景图都是一张完整图片的场景,如果背景图是通过多张小图拼接起来的背景图,该方法不适用,请使用get_image_slide_distance这个方法

滑动滑块进行验证

好了,今天关于滑动验证码识别就分享到这里了 。

相关推荐
ZhengEnCi13 分钟前
M2-如何转换为PDF
python
gCode Teacher 格码致知26 分钟前
Javascript及Python提高:将对象的键值对转换为数组元素的方式以及两种语言的对比-由Deepseek产生
javascript·python
浔川python社30 分钟前
《C++ 小程序编写系列》(合集)
python
阿钱真强道34 分钟前
37 Python 时序和文本:词袋模型 BoW 和 TF-IDF 到底怎么理解?
python·nlp·tf-idf·文本向量化·词袋模型·bow
2401_873544921 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
剑穗挂着新流苏3121 小时前
202_深度学习的动力源泉:矩阵微积分与自动求导 (Autograd)
人工智能·pytorch·python·深度学习·神经网络
qq_148115371 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
qwehjk20081 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
兰.lan1 小时前
【黑马ai测试】HTTP协议-抓包工具定位-弱网测试-缺陷介绍
网络·python·网络协议·http
每天吃的很好的Ruby2 小时前
报错ValueError: sampler option is mutually exclusive with shuffle
人工智能·pytorch·python