Python中如何生成图片验证码?分享一个实用的Python库

https://github.com/kylescript/vc

如果使用阿里云的 pip 镜像还不能安装,不知道他们的缓存时间是多久。。。
Python中如何生成图片验证码?分享一个实用的Python库

1 回复

captcha库就行,几行代码就能搞定。先装库:pip install captcha

下面是生成数字+字母验证码的完整代码:

from captcha.image import ImageCaptcha
import random
import string

# 生成随机验证码文本(4位,包含数字和大写字母)
def generate_random_text(length=4):
    characters = string.digits + string.ascii_uppercase
    return ''.join(random.choice(characters) for _ in range(length))

# 创建ImageCaptcha对象,可以自定义图片尺寸
image = ImageCaptcha(width=200, height=80)

# 生成验证码文本
captcha_text = generate_random_text()

# 生成验证码图片并保存
image.write(captcha_text, 'captcha.png')

print(f'生成的验证码: {captcha_text}')
print('图片已保存为 captcha.png')

运行后你会得到captcha.png图片文件,同时控制台会输出验证码文本用于核对。ImageCaptcha默认字体够用,如果需要中文或特定字体,可以在初始化时通过fonts参数指定字体文件路径列表。

这个库生成的图片背景有噪点干扰,字符有扭曲变形,基本够用。如果要做Web开发,把生成的图片转成base64或BytesIO对象直接返回给前端就行。

总结:用captcha库最省事。

回到顶部