社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
一般各大网站上都会在登录的时候让用户输入验证码,用于辨别是机器人还是人,python中可以很容易的就生成随机的验证码,其中captcha库大概是最常用的,本文便是使用中Python的captcha自动生成验证码图片。
import os
import random
# captcha是用于生成验证码图片的库,可以 pip install captcha 来安装它
from captcha.image import ImageCaptcha
def random_captcha_text(num):
# 验证码列表
captcha_text = []
for i in range(10): # 0-9数字
captcha_text.append(str(i))
for i in range(65, 91): # 对应从“A”到“Z”的ASCII码
captcha_text.append(chr(i))
for i in range(97, 123): #对应从“a”到“z”的ASCII码
captcha_text.append(chr(i))
# 从list中随机获取6个元素,作为一个片断返回
example = random.sample(captcha_text, num)
# 将列表里的片段变为字符串并返回
verification_code = ''.join(example)
return verification_code
# 生成字符对应的验证码
def generate_captcha_image():
image = ImageCaptcha()
#获得随机生成的验证码
captcha_text = random_captcha_text(8)
#把验证码列表转为字符串
captcha_text = ''.join(captcha_text)
#生成验证码
path='E:/pycharm/验证码识别/code/test/'
if not os.path.exists(path):
print("目录不存在!,已自动创建" )
os.makedirs(path)
print("生成的验证码的图片为:", captcha_text)
image.write(captcha_text, path + captcha_text + '.png')
if __name__ == '__main__':
number=1000
for i in range(number):
generate_captcha_image()
生成的图片效果如下:(密集恐惧),代码可以修改参数,想生成几位就几位,这是八位的。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!