Captcha的全称是"Completely Automated Public Turing test to tell Computers and Humans Apart",完全自动化的图灵测试,用于区分计算机和人类。说直白点就是验证码,验证你是人而不是爬虫。
Captcha的原理就是利用计算机目前还无法进行实时视觉辨识和字符识别的技术限制,来识别访问者是否为真实用户。只有人类才能正确解读并输入其中的字符,从而通过验证。
一、Captcha库的快速入门代码
# 生成图片验证码
import random
from captcha.image import ImageCaptcha
# 生成随机字符串
code = random.sample('abcdefghijklmnopqrstuvwxyz1234567890', 4) # 随机选取4个不重复字符串,返回一个列表
# 生成图片验证码对象
image = ImageCaptcha()
# 第一种使用方式:生成图片验证码
im = image.generate_image(code)
im.show() # 可以直接展示图片
# 第二种使用方式:生成图片验证码并保存
image.write(code, 'captcha.jpg')
# 第三种使用方式:生成图片验证码BytesIO
data = image.generate(code)
print(data, type(data))
二、生成图像验证码
三、生成声音验证码