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

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

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

一、滑动验证破解思路

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

  1. 获取滑块滑动的距离

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

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

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

二、案例讲解

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

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

  2. 输入账号密码

  3. 点击登录

  4. 模拟滑动验证

三、代码实现

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

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

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

滑动滑块进行验证

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

相关推荐
小陈工16 小时前
Python开源代码管理避坑实战:从Git高级操作到Docker环境配置
开发语言·git·python·安全·docker·开源·源代码管理
小陈工16 小时前
2026年3月27日技术资讯洞察:量子计算密码突破、硬件安全新范式与三月网络安全警报
服务器·python·安全·web安全·单元测试·集成测试·量子计算
倾一生爱恋换一世纯真16 小时前
使用python代码生成ragas的测试文档testset.json
人工智能·python·ragas·rag测试
繁星星繁16 小时前
Python基础语法(一)
c++·笔记·python
未来转换16 小时前
Python 框架 Django 从入门到精通
数据库·python·django
weixin_4577600016 小时前
KenLM简介及安装使用
python·kenlm
B站_计算机毕业设计之家16 小时前
计算机毕业设计:汽车数据可视化与后台管理平台 Django框架 requests爬虫 可视化 车辆 数据分析 大数据 机器学习(建议收藏)✅
python·算法·机器学习·信息可视化·django·汽车·课程设计
ai安歌16 小时前
学生管理系统——Django学生管理系统架构设计与实现:从零构建现代化Web应用
前端·python·django
子夜四时歌17 小时前
Python详细安装与环境搭建
开发语言·python
Jinkxs17 小时前
SkyWalking - Python 应用追踪:基于 skywalking-python 的埋点
开发语言·python·skywalking