python 使用ddddocr库实现滑块验证码滑动验证

这篇具有很好参考价值的文章主要介绍了python 使用ddddocr库实现滑块验证码滑动验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 识别滑块缺口

  1. 使用ddddocr识别
    该算法识别准确率为95%左右,测试三轮,每轮测试100次
def generate_distance(slice_url, bg_url):
    """
    :param bg_url: 背景图地址
    :param slice_url: 滑块图地址
    :return: distance
    :rtype: Integer
    """
    slide = ddddocr.DdddOcr(det=False, ocr=False, show_ad=False)
    slice_image = requests.get(slice_url).content
    bg_image = requests.get(bg_url).content
    result = slide.slide_match(target_bytes, bg_image, simple_target=True)
    return result['target'][0]
  1. 使用cv2识别
    该算法识别准确率为95%左右,测试三轮,每轮测试100次
def generate_distance(slice_url, bg_url):
    """
    :param bg_url: 背景图地址
    :param slice_url: 滑块图地址
    :return: distance
    :rtype: Integer
    """
    slice_image = np.asarray(bytearray(requests.get(slice_url).content), dtype=np.uint8)
    slice_image = cv2.imdecode(slice_image, 1)
    slice_image = cv2.Canny(slice_image, 255, 255)

    bg_image = np.asarray(bytearray(requests.get(bg_url).content), dtype=np.uint8)
    bg_image = cv2.imdecode(bg_image, 1)
    bg_image = cv2.pyrMeanShiftFiltering(bg_image, 5, 50)
    bg_image = cv2.Canny(bg_image, 255, 255)

    result = cv2.matchTemplate(bg_image, slice_image, cv2.TM_CCOEFF_NORMED)

    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)

    return max_loc[0]

二. 构造滑块轨迹

  1. 构造轨迹库
    图片长度为300,理论上就300种轨迹,实际上应该是200+种,还要减去滑块图的长度80
    手动滑他个几百次,并把距离和轨迹记录下来,识别出距离后直接查对应轨迹
  2. 算法构造轨迹track
def generate_track(distance):
    def __ease_out_expo(step):
        return 1 if step == 1 else 1 - pow(2, -10 * step)

    tracks = [[random.randint(20, 60), random.randint(10, 40), 0]]
    count = 30 + int(distance / 2)
    _x, _y = 0, 0
    for item in range(count):
        x = round(__ease_out_expo(item / count) * distance)
        t = random.randint(10, 20)
        if x == _x:
            continue
        tracks.append([x - _x, _y, t])
        _x = x
    tracks.append([0, 0, random.randint(200, 300)])
    times = sum([track[2] for track in tracks])
    return tracks, times

三. 结语

本篇文章篇幅不长,主要也没啥好说的,验证码研究多了,识别和轨迹就那几套方法,换汤不换药
函数a(e, t)中的重头戏:c.guid()、_.encrypt()、i.encrypt()、c.arrayToHex()四个函数我们放到浩瀚篇再说吧,不然我这紫极魔瞳四大境界变成三大境界了,哈哈哈


 文章来源地址https://www.toymoban.com/news/detail-810629.html

到了这里,关于python 使用ddddocr库实现滑块验证码滑动验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用Java+Selenium+openCV实现126.com的滑块验证

    引入OpenCV库,下载地址:Releases - OpenCV下载4.5.0即可,在下完成安装exe文件后,会出现下列文件,直接将build/java文件下的jar包导入项目的依赖即可。  1.获取驱动,加载126网址 2.切换窗口,因为登录功能是在iframe中,需要先切换窗口 3.输入账号和密码,点击登录(才能弹出滑块

    2024年01月21日
    浏览(46)
  • Python通用验证码识别OCR库ddddocr的安装使用

    之前写了一篇关于java使用tess4j进行图片文字识别.md的,对于应付简单的数字识别还是能应付,但总体效果、识别率很一般,后来同事找到了这一篇写的,(亲测好用便捷)Python通用验证码识别OCR库ddddocr的安装使用教程,试用了下确实效果要好很多,因此也记录一下,算是白嫖了

    2024年02月05日
    浏览(51)
  • 阿里云新用户滑块验证不过,阿里云滑动验证流程及线上问题排查

    滑动验证是阿里巴巴集团提供的一种验证码解决方案,采用风险分析引擎,有效区分来自人类与机器人的访问行为并拦截机器风险,为您提供安全可靠的业务环境。 下图是滑动验证在用户客户端的展示效果。 产品介绍:阿里云验证码(Alibaba Captcha) 滑动验证流程 滑动验证服

    2024年01月17日
    浏览(42)
  • python+selenium绕过滑块验证,实现自动登录

    实现taobao自动化登录,当用webdriver打开淘宝时,滑块验证一直失败,手动滑都会失败。因为淘宝会检测window.navigator.webdriver,控件检测到你是selenium进入,所以就会弹出滑块验证。只需要绕过检测就能实现自动登录 验证了两种方法可以跳过: 第一种是给浏览器加启动参数,开

    2024年02月12日
    浏览(48)
  • 100天精通Python(实用脚本篇)——第118天:基于selenium和ddddocr库实现反反爬策略之验证码识别

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html 优点 : 订阅限时9.9付费专

    2024年03月19日
    浏览(47)
  • python+ddddocr识别验证码(新手进阶)

         无意间看到的ddddocr的模块,闲来无事就小试一下,果然非常非常的不错,必须给ddddocr大佬点赞👍 一、准备         python环境:         建议各位使用python3.8~3.10版本,太高不兼容,太低也不兼容,别问为什么         需要安装ddddocr模块,PIL模块(python3使用

    2024年01月17日
    浏览(41)
  • 【Python从入门到进阶】39、使用Selenium自动验证滑块登录

    接上篇《38、selenium关于Chrome handless的基本使用》 上一篇我们介绍了selenium中有关Chrome的无头版浏览器Chrome Handless的使用。本篇我们使用selenium做一些常见的复杂验证功能,首先我们来讲解如何进行滑块自动验证的操作。 我们要通过selenium来实现目前常见的滑块验证码的验证,

    2024年02月08日
    浏览(51)
  • OpenCV滑块验证码图像缺口位置识别

    在使用Selenium完成自动化爬虫时,许多网站为了防止机器人爬取数据会使用验证码(例如滑块验证码)。通过Selenium动作操作,爬虫可以模拟用户输入验证码或使用鼠标移动一定距离来处理验证码验证过程 完成这一流程的关键步骤有两步:识别出目标图像缺口的位置,操作滑

    2024年02月03日
    浏览(46)
  • selenium实现滑块滑动

    我选取  https://www.helloweba.net/demo/2017/unlock/   这个网站为例  

    2024年02月22日
    浏览(32)
  • Brup+Captcha-killer+ddddocr实现验证码识别

    实验前准备:Burp(2020以后的版本jdk11) captcha-killer(burp插件针对不同版本的burp存在不同的版本) ddddocr(开源验证码识别接口最新版已支持python3.10版本) 项目地址:https://github.com/f0ng/captcha-killer-modified https://github.com/sml2h3/ddddocr burp的安装和破解在此不做赘述,首先我们到上面

    2023年04月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包