前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用captcha模块生成图形验证码

使用captcha模块生成图形验证码

作者头像
jhao104
发布2018-03-20 16:57:20
4.7K0
发布2018-03-20 16:57:20
举报
文章被收录于专栏:烂笔头烂笔头烂笔头

目录[-]

captcha模块是专门用于生成图形验证码和语音验证码的Python三方库。图形验证码支持数字和英文单词。

安装

安装

可以直接使用 pip 安装,或者到项目地址下载安装。

模块支持

由于 captcha 模块内部是采用 PIL 模块生成图片,所以需要安装 PIL 模块才可以正常使用。

生成验证码

一般方法

使用其中 image 模块中的 ImageCaptcha 类生成图形验证码:

from captcha.image import ImageCaptcha

img = ImageCaptcha()
image = img.generate_image('python')
image.show()
image.save('python.jpg')

生成验证码如下:

captcha1
captcha1

generate_image() 方法接收一个字符串参数,将生成次字符串内容的验证码,返回的是 PIL 模块中的 Image 对象。可以使用 PIL 模块中 Image 对象的任何支持方法对其操作。例子中的 image.show()image.save() 均是 PIL 模块的方法。

具体参数

ImageCaptcha(width=160, height=60, fonts=None, font_sizes=None) 类实例化时,还可传入四个参数:

  • width: 生成验证码图片的宽度,默认为160个像素;
  • height: 生成验证码图片的高度,默认为60个像素;
  • fonts: 字体文件路径,用于生成验证码时的字体,默认使用模块自带 DroidSansMono.ttf 字体,你可以将字体文件放入list或者tuple传入,生成验证码时将随机使用;
  • font_sizes: 控制验证码字体大小,同fonts一样,接收一个list或者tuple,随机使用。

主要方法

  • generate_image(chars) 生成验证码的核心方法,生成chars内容的验证码图片的Image对象。
  • create_captcha_image(chars, color, background) generate_image的实现方法,可以通过重写此方法来实现自定义验证码样式。
  • create_noise_dots(image, color, width=3, number=30) 生成验证码干扰点。
  • create_noise_curve(image, color) 生成验证码干扰曲线。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年10月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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