前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >验证码破解没有训练集?我教你生成一万个!

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

作者头像
Python进击者
发布2020-05-08 15:49:59
9260
发布2020-05-08 15:49:59
举报
文章被收录于专栏:JAVAandPython君JAVAandPython君

前言

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

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

captcha

下载:

代码语言:javascript
复制
pip install captcha

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

代码语言:javascript
复制
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还可以定义一些参数:

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

最后大家看下我生成的验证码照片:

总结

其实大家可以发现python的这个库并没有想象的那么强大,这里我要给大家推荐另一个库,只不过它不是python的,而是Java的,它所能设置的参数更加的详细。如果本文超过20在看,下篇文章我将详细的给大家介绍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • captcha
  • 总结
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档