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库最省事。

