python直接生成验证码的模块
使用captcha模块即可直接生产验证码语言:pythonpython版本:Python 3.8.3编译器:vscode需要的模块:captcha,PIL首先是github的链接和源码-. captcha的github传送门-. github上的源码安装pip install -i https://pypi.douban.com/simple captcha初次使用# 导入模块,该模块主要是生成图
·
使用captcha
模块即可直接生成验证码
语言:python
python版本:Python 3.8.3
编译器:vscode
需要的模块:captcha,PIL
- 首先是github的链接和源码
-. captcha的github传送门
-. github上的源码 - 安装
pip install -i https://pypi.douban.com/simple captcha
- 初次使用
# 导入模块,该模块主要是生成图片验证码的
from captcha.image import ImageCaptcha
# 实例化,可以指定参数,可以自行查看源码,或者查看我写的另一篇关于解析该模块的源码的文章
img = ImageCaptcha()
# 该类实现了4(应该是4种)种生成验证的方法
# 第一种方法,该方法是生成最简单的验证码,没有什么干扰线或干扰点的,如下
im = img.create_captcha_image(chars='1234', color='red', background='white')
# 解释一下这个方法,该方法接受三个参数
# 第一个参数:chars就是你要生成验证码的字符是什么
# 第二个参数:color就是验证码文字的颜色是什么
# 第三个参数:background是该图片的背景颜色
im.show() # 显示该图片
print(im.size)
print(type(im))
- 需要说明的是,这样生产的验证码每次的位置都是不固定的哦,图片大小默认是(160, 60),最后生产的图片格式:
PIL.Image.Image
,如下
- 这次来随机生成不同字符的验证码和颜色
from captcha.image import ImageCaptcha
import string, random
# 实例化
img = ImageCaptcha()
# 生成字母和数字
lettersAndNumbers= string.ascii_letters + string.digits
# 咱们生产10张验证码
for _ in range(10):
# 随机选择4个字符生产验证码
chars = ''.join(random.sample(lettersAndNumbers, k=4))
# 随机颜色,color和background是接受rgb(0,0,0)这样的参数的
# 所以可以使用random生成即可
rgb = (random.randint(0, 256), random.randint(0,
256), random.randint(0, 256))
b_rgb = (random.randint(0,
256), random.randint(0,
256), random.randint(0, 256))
im = img.create_captcha_image(chars=chars, color=rgb, background=b_rgb)
# 图片保存的路径
path = r'生成验证码/images/' + chars + '.png'
im.save(path)
print('验证码生成完成')
- 下面是随机生成的10张验证码
- 该方法(create_captcha_image)的使用就到这,其他的方法请看另外的几篇文章(点击就可以直接跳转到对应的文章哦)
更多推荐
已为社区贡献7条内容
所有评论(0)