Python大佬手把手带你用爬虫破解——滑动验证码识别

爬虫技术-滑块验证码 滑块验证码 1. 滑块简介 注:重点是识别滑块缺口,测出需要拖动的距离 1.1 核心步骤 从服务器随机取一张图片,并对图片上的随机x,y坐标和宽高一块区域抠图; 根据步骤一的坐标和宽高,使用二维数组保存原图上抠图区域的像素点坐标; 根据步骤二的坐标点,对原图的抠图区域的颜色进行处理。 完成以上步骤之后得到两张图(扣下来的方块图,带有抠图区域阴影的原图),将这两张图和抠图区域的y... 阅读详情

做爬虫总会遇到各种各样的反爬限制,反爬的第一道防线往往在登录就出现了,为了限制爬虫自动登录,各家使出了浑身解数,所谓道高一尺魔高一丈。

小小课堂

在这里插入图片描述
步骤:
(1)计算滑动距离
(2)模拟人滑动(总体思路是先快再慢)

下面我们先来看下豆瓣登录界面在这里插入图片描述这个时候我们通过输错密码的方法,使其出现验证码。在这里插入图片描述

多滑动和刷新几次,发现一些规律,y轴不变,x轴在变化,豆瓣这个滑动验证码,x轴距离大概207左右,如果需要精确测量,需要使用像素对比。
在这里插入图片描述接来下通过selenium找到滑块,移动就行了,但是有一个问题,如果直接(x1,y1)移动到(x2,y2),相当于瞬移的效果,时间非常短,可能会被对方检测到。
在这里插入图片描述
接下来需要使用模拟真实人的点击滑动轨迹,一般是先加速再加速,假设是匀加速和匀减速。
滑动之后,如果不通过,可以刷新按钮,再进行滑动,直到通过(因为通过后一般页面开始跳转title不同或找其他的对比找到不同)

模拟匀加速和匀减速

在这里插入图片描述
代码实现:

def get_tracks(distance, rate=0.6, t=0.2, v=0):
    """
    将distance分割成小段的距离
    :param distance: 总距离
    :param rate: 加速减速的临界比例
    :param a1: 加速度
    :param a2: 减速度
    :param t: 单位时间
    :param t: 初始速度
    :return: 小段的距离集合
    """
    tracks = []
    # 加速减速的临界值
    mid = rate * distance
    # 当前位移
    s = 0
    # 循环
    while s < distance:
        # 初始速度
        v0 = v
        if s < mid:
            a = 20
        else:
            a = -3
        # 计算当前t时间段走的距离
        s0 = v0 * t + 0.5 * a * t * t
        # 计算当前速度
        v = v0 + a * t
        # 四舍五入距离,因为像素没有小数
        tracks.append(round(s0))
        # 计算当前距离
        s += s0

    return tracks

if __name__ == '__main__':
    tracks = get_tracks(100)
    print(tracks)
    print(sum(tracks))
123456789101112131415161718192021222324252627282930313233343536373839

下面我们来看下运行结果:在这里插入图片描述

我们可以看到已经完成了模拟匀加速与匀减速的操作。

分析登录页面

在这里插入图片描述
首先通过URL,我们找到了

https://accounts.douban.com
Web自动化测试之滑动验证码的解决方案 目录滑动验证破解思路案例讲解实现代码运行效果:根据传入滑块,和背景的节点,计算滑块的距离滑动滑块进行验证总结: 在Web自动化测试的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证。 一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码! 那么如果开发不提供帮助的话,我们自己有没有办法来处理这些验证码的问题呢? 答案当然是有的,常见的验证码一般分为两类,一类是图文验证码,一类是滑动验证码!关于滑动验证码破解的思路大体上来讲就是以下两个步骤: 1、获取滑块滑 阅读详情

相关推荐

滑块验证码现在是做火的验证码系列了吧!利用Python强势破解!

导语 记录一次利用Python+Selenium破解滑块验证码的实战过程。 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pillow模块; selenium模块; numpy模块; 以及一些Python自带的模块。 其他: chromedriver 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 实战记录 ...

Pythoncxy的博客 1779

Python爬虫实战 | (15) 破解bilibili登陆滑动验证码

在本篇博客中,我们将使用selenium模拟登录bilibili网站,破解其登陆时的滑动验证码。 首先回顾一下,滑动验证码相关知识: 简介 滑动图形验证码,主要由两个图片组成:抠块和带有抠块阴影的原图。 这里有两个重要特性保证被暴力破解的难度: (1)抠块的形状随机 (2)抠块所在原图的位置随机 生成滑动验证码 1)后端随机生成抠图和带有抠图阴影的背景图片,后台保存随机抠图位置坐标...

sdu_hao的博客 7003

超详细的python爬虫破解反爬技术,手把手教你破解滑动验证码

滑动验证码的识别介绍 本节目标: 用程序识别极验滑动验证码的验证,包括分析识别思路、识别缺口位置、生成滑块拖动路径、模拟实现滑块拼合通过验证等步骤。准备工作: 本次案例我们使用Python库是Selenium,浏览器为Chrome。请确保已安装Selenium库和ChromeDriver浏览器驱动。 了解极验滑动验证码: 极验滑动验证码官网为:http://www.ge...

qq_46614154的博客 6191

Python爬虫 | 滑动验证码破解

极验验证码:需要手动拼合滑块来完成的验证,相对图形验证码识别难度上升了几个等级。下面用程序识别并通过极验验证码的验证,其中有分析识别思路、识别缺口位置、生成滑块拖动、模拟实现滑块拼合通过验证等步骤。需要用到Chrome 浏览器,并配置 ChromeDriver ,要用到的 Python 库是 Selenium。 1、 对极验验证码了解   极验验证码官网:http://www.geetest.com/。一个专注提供验证安全的系统,主要验证方式是拖动滑块拼命图像。若图像完全拼合,则验证成功,即表单提交,否则

易云云博客 3736

如何应对验证码:Python爬虫中的验证码破解方法

摘要: 验证码是网站常用的反爬机制,通过图形、滑动等方式验证用户真实性。破解验证码需谨慎,确保合法合规。主要方法包括:1)OCR技术处理简单图形验证码;2)付费第三方服务(如2Captcha)应对复杂验证码;3)Selenium模拟滑动或人工操作绕过交互式验证码。优化爬虫策略(如控制请求频率、使用代理池)可减少验证码触发。技术手段需结合伦理与法律边界,优先遵循网站规则。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1586

用Python爬虫破解滑动验证码

我们可以借用opencv来解决这个问题,主要步骤: opencv 是什么? OpenCV(Open Source Computer Vision Library)是开放源代码计算机视觉库,主要算法涉及图像处理、计算机视觉和机器学习相关方法,可用于开发实时的图像处理、计算机视觉以及模式识别程序。 直接安装 首先将图片进行高斯模糊处理,高斯模糊的主要作用是减少图像的噪声,用于预处理阶段。 处理后的效果 接着用Canny边缘检测到得到一个包含“窄边界”的二值图像。所谓二值图像...

weixin_54556126的博客 1540

爬虫面试:关于爬虫破解验证码的13个经典面试题

​解释:验证码是一种用于区分人类用户和自动化程序(如爬虫)的技术,通常通过显示图形、文字或音频等方式,要求用户完成特定任务(如识别扭曲的字母、点击特定区域等)。​作用:防止恶意爬虫滥用网站资源、进行批量注册、登录破解等行为,保护网站的安全性和数据的完整性。

数据知道的博客 1万+

给大一新生的蓝桥杯EDA备赛规划:从电路分析到立创EDA,如何用一年时间高效备赛?

本文为大一新生提供了一份系统的蓝桥杯EDA备赛规划,从电路分析基础到立创EDA实战操作,分阶段指导如何高效备赛。内容涵盖理论学习、软件操作、PCB设计专项提升及冲刺优化策略,帮助学生在一年内全面提升电子设计能力,为竞赛做好充分准备。

weixin_31476015的博客 291

别再死记硬背了!用Multisim仿真5分钟搞懂运放电压跟随器到底要不要加反馈电阻

本文通过Multisim仿真实验,深入解析运放电压跟随器中反馈电阻的必要性。实验对比不同阻值对电路性能的影响,揭示反馈电阻在提供偏置电流通路、提升高频稳定性和ESD保护中的关键作用,并给出工程实践中的优化建议,帮助工程师快速掌握运放电路设计要点。

weixin_42641998的博客 371

傻白入门芯片设计,芯片键合(Die Bonding)(四)

傻白入门芯片设计,芯片键合(Die Bonding)(四) 引线键合、倒装芯片键合、管脚贴合技术

qq_46675545的博客 3万+

【DeepSeek R1构建本地RAG知识库】数据结构化清洗-工作流自动清洗

在构建本地RAG知识库时,数据结构化清洗是关键但繁琐的步骤。传统方法效率低且易出错,而低代码/无代码平台如Dify提供了更高效的解决方案。Dify通过可视化工作流设计,集成大模型智能处理,支持多格式输入输出,无需编码即可完成复杂的数据清洗任务。文章详细介绍了数据结构化的核心困境、目标、价值及类型,并比较了TXT与Markdown在RAG系统中的适用性。最后,通过Dify平台实战演示了如何在20分钟内完成规则制度文档的结构化清洗,输出标准化数据,展示了自动化工作流在数据处理中的高效性和便捷性。

少说,多做 1224

【示波器专题】示波器探头的原理深入——有源探头之差分有源探头

差分有源探头是一种特殊的有源探头,与普通单端有源探头的区别在于其前端的放大器是差分放大器。差分放大器的好处是可以直接测试高速差分信号,同时其共模抑制比高,对共模噪声的抑制能力比较好。...

一点硬件 2626

深度测评:Accio Work——目前普通用户最友好的多 Agent 协同工具

摘要:Accio Work是阿里国际站推出的多Agent协同工具,通过借鉴古代"三省六部制"构建高效协作框架。该工具支持主流大模型,可配置专业Agent角色,实现40分钟内完成复杂产品PRD等高效协作。其亮点在于直观的UI设计和流程驱动机制,能强制各Agent从专业视角深度思考。虽然超长对话稳定性有待优化,但作为目前最用户友好的多Agent工具,显著降低了构建复杂AI团队的门槛,成为提升个人和小微企业生产力的利器。

Maynor的博客 1747

YOLO26-seg分割优化:卷积魔改 | 动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023

​​​​​​摘要:本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其关键架构改进及其在实时边缘目标检测中的性能基准测试。YOLO26于2025年9月发布,是YOLO系列最新、最先进的成员,专为在边缘及低功耗设备上实现高效、精确且易于部署的目标而构建。本文依次详述了YOLO26的架构创新,包括:移除了分布焦点损失(DFL);采用端到端的无NMS推理;集成了渐进损失(ProgLoss)与小目标感知标签分配(STAL);以及引入了用于稳定收敛的MuSGD优化器。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 219

知识图谱大模型系列之 12 LLM 知识图谱构建器:从零到 GraphRAG 使用 LLM 知识图谱生成器在 GenAI 应用中提取和使用知识图谱(教程含源码)

为了更深入地了解 LLM 知识图谱构建器,GitHub 存储库提供了大量信息,包括源代码和文档。此外,我们的文档提供了详细的入门指南,而GenAI 生态系统则提供了有关可用更广泛工具和应用程序的进一步见解。

iCloudEnd的博客 2038

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: Python全局变量global关键字详解
下一篇: 下个十年,Python的“王者”地位还能保住吗?
克金森沐沐
博客等级 码龄6年 694粉丝 64原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值