验证码破解没有训练集?我教你生成一万个!

简介: 验证码破解没有训练集?我教你生成一万个!

前言

对于验证码破解,我在去年写过一篇文章我深度学习0基础,还训练出一个识别验证码模型!,并且把代码放在GitHub上,GitHub地址大家就直接访问前面那篇文章就知道了。最近有些GitHub上过来的小伙伴问我各种各样的问题,其中有一个就是如何生成训练所需要的数据集,这里也就是指验证码。

第一想到的就是通过一些类库生成与需要破解的验证码类似的数量级,当然这会花费你一定的时间。今天我给大家推荐一个python生成验证码的第三方库,并且我们来生成自己的数据集。


captcha

下载:


pip install captcha


如何生成验证码呢?我直接给大家上代码:


from captcha.image import ImageCaptcha
import random
list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
# 定义验证码尺寸
width, height = 170, 80
#生成一万张验证码
for i in range(10000):
    generator = ImageCaptcha(width=width, height=height)
    # 从list中取出4个字符
    random_str = ''.join([random.choice(list) for j in range(4)])
    # 生成验证码
    img = generator.generate_image(random_str)
    # 在验证码上加干扰点
    generator.create_noise_dots(img, '#000000', 4, 40)
    # 在验证码上加干扰线
    generator.create_noise_curve(img, '#000000')
    # 将图片保存在目录yzm文件夹下
    file_name = './yzm/'+random_str+'_'+str(i)+'.jpg'
    img.save(file_name)


关于每一句代码的意思,我都写在注释里了,所以这里不会过多的阐述。不过上面的ImageCaptcha还可以定义一些参数:


1.jpg


从源码中我们可以看到还可以定义字体、字体大小,当然这个根据你所要破解的验证码来决定。最后大家看下我生成的验证码照片:


2.jpg


3.jpg


总结

其实大家可以发现python的这个库并没有想象的那么强大,这里我要给大家推荐另一个库,只不过它不是python的,而是Java的,它所能设置的参数更加的详细。如果本文超过20在看,下篇文章我将详细的给大家介绍。有关于验证码训练的教程,看我我深度学习0基础,还训练出一个识别验证码模型!这篇文章。

相关文章
|
关系型数据库 MySQL 数据库
Docker部署Mysql数据库详解
Docker是一种流行的容器化平台,可以简化应用程序的部署和管理。在本博客中,我们将探讨如何使用Docker部署两个广泛使用的数据库:MySQL。我们将提供详细的步骤和相应的命令,以帮助您轻松地在Docker容器中设置和运行这个数据库。
2982 0
(续集)记录2分钟破解知识星球验证弹窗
那我换个思路,反正网站简单,这次直接用替换的方式
2451 0
|
2月前
|
人工智能 Linux API
OpenClaw 全平台部署及深度调教指南:四层记忆配置与大模型API优化及避坑指南
大多数用户使用AI时都面临一个共同问题:AI缺乏持续记忆、对话风格不稳定、无法贴合个人习惯、不会主动执行任务,每次交互都像重新面对一个全新的助手。OpenClaw凭借独创的**四层记忆引擎**,通过SOUL、USER、TOOLS、Session四大配置体系,让AI从被动应答升级为具备性格、认知、能力、记忆的专属数字助理,真正实现“懂你、记住你、主动帮你”。本文完整讲解OpenClaw四层记忆架构的原理、配置文件编写、进阶优化技巧,同时提供2026年阿里云云端部署、MacOS/Linux/Windows11本地部署流程,以及阿里云千问大模型API与免费Coding Plan API的完整配置方案
908 3
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
3月前
|
人工智能 网络安全 数据安全/隐私保护
保姆级教程:OpenClaw(Clawdbot)汉化版本地搭建+Docker隔离部署及阿里云极速部署指南
2026年初,GitHub开源项目OpenClaw(曾用名Clawd/Moltbot)迎来爆发式增长,一周内Star数从7800飙升至12万+,成为史上增长最快的开源项目之一。这款由PSPDFKit创始人Peter Steinberger打造的通用AI助手,突破了传统聊天机器人的局限,能真正执行系统控制、浏览器自动化、邮件管理等实际任务。但原版全英文界面对中文用户并不友好,国内开发团队完成了全维度汉化,覆盖命令行和网页控制台,还实现了与官方版本的小时级同步更新。本文将完整拆解OpenClaw汉化版的本地一键部署、Docker隔离部署和2026年阿里云极简部署三大方案,附带全程可复制的代码命令、
3000 17
|
12月前
|
存储 机器学习/深度学习 缓存
vLLM 核心技术 PagedAttention 原理详解
本文系统梳理了 vLLM 核心技术 PagedAttention 的设计理念与实现机制。文章从 KV Cache 在推理中的关键作用与内存管理挑战切入,介绍了 vLLM 在请求调度、分布式执行及 GPU kernel 优化等方面的核心改进。PagedAttention 通过分页机制与动态映射,有效提升了显存利用率,使 vLLM 在保持低延迟的同时显著提升了吞吐能力。
7020 21
vLLM 核心技术 PagedAttention 原理详解
|
机器学习/深度学习 存储 算法
DistilQwen2.5发布:通义千问蒸馏小模型再升级
为解决大语言模型在资源有限环境下的高计算成本和复杂性问题,阿里云推出了基于 Qwen2.5 的轻量化模型系列 DistilQwen2.5。该模型通过双层蒸馏框架、数据优化策略及参数融合技术,在保留性能的同时显著降低计算资源消耗。本文提供了详细的使用教程和代码示例,方便用户在 PAI 平台上调用。
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
558 7
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
2467 3
如何使用Python开发API接口?
|
存储 数据采集 分布式计算
Java中的大数据处理与分析架构
Java中的大数据处理与分析架构