目录[-]
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')
生成验证码如下:

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)生成验证码干扰曲线
