准备
哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好!
日常的网上冲浪中,我们登录或注册帐号时都少不了验证码。今天我们就用python模拟一下验证码。
在开始之前,我们先认识一下验证码的分类:
- 短信验证码:短信验证码是验证码中最常用的一种,我们在注册或登录时输入你的手机号后,通过短信的方式发给你4~6位数字以验证。
- 拼图验证码:这种验证码现在已经不怎么常用了,使用方法是给你一幅图,但那个图有一个空缺的地方,你要把它空缺的那一部分移到正确的位置以验证,淘宝电脑版的注册上就有运用该验证码。
- 图片验证码:这种验证码也不怎么常用,这种验证码的验证方法是给你一副图,图上一般有4个数字或字母,他们不怎么清楚,你需要正确的输入它们以来验证。
今天我们要用Python模拟一下图片验证码。
需要导入的库:
PIL
image
PIL是第三方库,需要另外下载。下载方法:
打开开始菜单输入“cmd”或是shift加右键,点击“此处打开命令窗口”,在cmd中输入:
pip install pillow
如果苹果电脑,则输入
pip3 install pillow
如果没显示异常,即开始下载。等它下好后(进度条为百分百),输入python
,回车进入交互模式,输入import PIL
如果没报错,则为下载好了。下面开始编写代码。
开始之前,先审核一遍清单
- 编程环境:任何的都可以。
- 语言:python
- 编辑器: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版权协议,转载请附上原文出处链接和本声明。