本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
前言
我们平常登录网站时,都会有见到要我们输入验证码的情况,验证码是用来区分用户是计算机还是人,主要是防止恶意破解密码、刷票、爬取数据等(现在通过其它技术同样可以识别,这里就不做讨论了)。
给图片写上文字
验证码的实现其实和我们之前讲的图片上写文字是一个原理,只不过对图片和文字做了一些处理,下面是最简单的验证码,在一张图片上写上qwert。
调整字体和显示位置
上面字体比较小,且没有局中,通过调整一些字体大小和显示位置,让整个验证码看上去更舒服一点。
随机字符实现过程
上面的验证码字符是我们写好固定的,实际上的验证码是随机的,这里我们只需要用python的随机库random就可以实现了。这里可以自己手动编写所有可能的字符和数字,也可以使用python的chr内置方法,将数字变成ascii字符,然后利用random.choices从一个序列里面随机选取四个字符。
图片随机验证码实现
上面的方法帮助我们生成了所有的可能字符串,为了方便,直接将他们放到一个变量里面,接着从里面实现一个随机的字符code,从而达到随机验证码的效果。