用python制作图片验证码

准备

哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好!
日常的网上冲浪中,我们登录或注册帐号时都少不了验证码。今天我们就用python模拟一下验证码。在这里插入图片描述
在开始之前,我们先认识一下验证码的分类:

  1. 短信验证码:短信验证码是验证码中最常用的一种,我们在注册或登录时输入你的手机号后,通过短信的方式发给你4~6位数字以验证。
  2. 拼图验证码:这种验证码现在已经不怎么常用了,使用方法是给你一幅图,但那个图有一个空缺的地方,你要把它空缺的那一部分移到正确的位置以验证,淘宝电脑版的注册上就有运用该验证码。
  3. 图片验证码:这种验证码也不怎么常用,这种验证码的验证方法是给你一副图,图上一般有4个数字或字母,他们不怎么清楚,你需要正确的输入它们以来验证。
    今天我们要用Python模拟一下图片验证码。
    需要导入的库:
    PIL
    image
    PIL是第三方库,需要另外下载。下载方法:
    打开开始菜单输入“cmd”或是shift加右键,点击“此处打开命令窗口”,在cmd中输入:
pip install pillow

如果苹果电脑,则输入

pip3 install pillow

如果没显示异常,即开始下载。等它下好后(进度条为百分百),输入python,回车进入交互模式,输入import PIL如果没报错,则为下载好了。下面开始编写代码。
在这里插入图片描述

开始之前,先审核一遍清单

  1. 编程环境:任何的都可以。
  2. 语言:python
  3. 编辑器:Git,pycharm等那些大部分都可以这里我用的是Git。
    下面还是老规矩,直接奉上代码:

代码部分

from PIL import Image,ImageDarw,ImageFont,ImageFilter
import random

#随机字母
def rndChar():
    return chr(random.randint(65,90))


#随机颜色1
def rndcolor():
    return chr(random.randint(65,255),random.randint(64,255),random.randint(64,255))

#随机颜色2
def rndcolor():
    return chr(random.randint(32,127),random.randint(32,127),random.randint(32,127))

w=60*4
h=60
image=Image.new("RGB",(w,h),(255,255,255))


font=ImageFont.truetype("arial.ttf",36)
draw=ImageDraw.Draw(image)

for i in range(h):
    for j in range(w):
        draw.point((j,i),fill=rndColor())

for a in rabge(4):
    draw.text((60*a+10,10),rndChar(),font=font,fill=rndColor2())

image=image.filter(ImageFilter.BLUR)
image.save("a.jpg",qulity=80)

以上是今天的全部内容,欢迎在评论区评论留言!如遇到问题,可以私信我,886!


版权声明:本文为weixin_50259832原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。