利用python生成图片验证码

图片验证码在生活中得到了广泛的应用,在很多登录页面都可以看到验证码的身影。之所以如此,是因为图片验证码可以隔绝不法分子的密码爆破,对我们的登录过程起到了至关重要的保护作用。
我们就来看看如和生成验证码,我主要写了两个函数。一个用于生成验证码字符串,用于用户的输入验证,一个是生成图片,给用户看,让用户输入对应的信息,供系统进行数据比对。从而进行验证码验证。
第一个就是生成验证码字符串,代码如下:

def number():   # 生成随机验证码字符串# captcha_text = [str(i) for i in range(10)]   # 列表形式纯数字,列表的内容为字符串形式的0-9captcha_text = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'example = [random.sample(captcha_text, 1)[0] for i in range(4)] #随机抽取4个字符,作为验证码,如果需要增加验证码长度,修改range(4)的数值即可verification_code = ''.join(example)   # 将4个字符拼接return verification_code   # 返回验证码内容

第二个就是生成验证码图片了,在有验证码字符串的前提下,获得验证码图片。,代码如下:

def generate_captcha_image(save_path,number):    # 生成验证码图片 image = ImageCaptcha()if not os.path.exists(save_path):   # 检测目录是否存在,不在则创建os.makedirs(save_path)image.write(number, '%s/%s.png'%(save_path, number))   # 将绘制好的图片验证码保存return save_path   # 返回保存文件的文件夹,方便后期删除

主要的部分就是这两个部分,还有一个也算比较重要的部分吧,就是在生成验证码使用完成后,记得删除验证码,否则会导致不必要的资源浪费,如果不想麻烦,也可以保存,直接供下次使用。这个主要看个人取舍吧。
利用python生成图片验证码的完整代码如下;

import os
import random  # 生成随机验证码
from captcha.image import ImageCaptcha  # 生成图片
import timedef number():   # 生成随机验证码字符串# captcha_text = [str(i) for i in range(10)]   # 列表形式纯数字,列表的内容为字符串形式的0-9captcha_text = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'example = [random.sample(captcha_text, 1)[0] for i in range(4)] #生成一个列表,四个随机字符verification_code = ''.join(example)   # 将4个字符拼接return verification_code   # 返回验证码内容def generate_captcha_image(save_path,number):    # 生成验证码图片 image = ImageCaptcha()if not os.path.exists(save_path):   # 检测目录是否存在,不在则创建os.makedirs(save_path)image.write(number, '%s/%s.png'%(save_path, number))   # 保存图片return save_path   # 返回保存文件的文件夹,方便后期删除def remove(path):   # 退出程序的时候一定要记得删除验证码,否则内存占用会越来越大files=os.listdir(path) # 获取目录下的文件os.chdir(path)  # 进入目录for file in files:os.remove(file)  #遍历删除指定目录下的文件os.chdir("..")  # 返回当前目录os.rmdir(path)    # 删除这个目录,可根据需要保存这个目录returnif __name__ == "__main__":nb = number()print(nb)image = generate_captcha_image("images",nb)  # 生成验证码,第一个参数为保存的路径print("验证码保存在:",image)# time.sleep(10)# remove_image = remove(image)  # 删除验证码# print(remove_image)

在实际的生产过程中,对代码进行适当的变更即可正常使用,有些地方注释可能有问题,这只是我个人的理解。希望发现的大佬给予讲解。希望对有需要的人给到帮助。

利用python生成图片验证码相关推荐

  1. 关于利用python进行验证码识别的一些想法

    关于利用python进行验证码识别的一些想法 - 小五义 - 博客园 关于利用python进行验证码识别的一些想法 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi ...

  2. python文字验证码识别_利用python进行验证码识别(预处理部分)

    # -*- coding: utf-8 -*- """Created on Thu Feb 1 15:52:05 2018@author: Administrator&q ...

  3. 使用python生成图片验证码

    生成二进制流图片验证码 # 绘画库 from PIL import ImageDraw # 字体库 from PIL import ImageFont # 图片库 from PIL import Im ...

  4. Python 生成图片验证码(详解)

    1. 创建文件img_code.py 调用该函数随机生成图片信息,返回图片及文本验证码 import random from PIL import Image, ImageDraw, ImageFon ...

  5. 基于python的验证码识别

    基于python的验证码识别 在利用python对一些网站进行批量操作的时候,验证码是个绕不过去的东西,虽然现在网上有很多图像识别的api,但是可能不适用于你的项目,我为了批量爬取班上同学的学分绩点写 ...

  6. 利用Python只需3行代码即可生成验证码

    现在验证码的种类真的是越来越多,短信验证码.语音验证码.图片验证码.滑块验证码 ... 我们在 PC 的网页端或者手机上的 app 进行登录或者注册时,应该总会遇见图片验证码,比如下面这类: 很多人学 ...

  7. 利用Python解决豆瓣验证码,实现模拟登陆!

    前言: 更为重要的一件事情是它是纯Python编程语言开发的!!! 所以咱们利用Python去搞定它的验证码实现模拟登陆,是有一定意义的哟! 实战: Python 3.6.5 解释器 pycharm ...

  8. python生成图片base64编码及阿里云验证码识别

    一.问题背景 自动化测试时,注册页面需要输入验证码,为此需要截取下验证码图片,然后调用识别出其中文字信息,以模拟输入 阿里云验证码识别api链接 通过此链接可以查看此api调用信息: 如下是api调试 ...

  9. 利用Python进行简单的图像识别(验证码)

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...

  10. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

最新文章

  1. 一致性Hash算法(KetamaHash)的c#实现
  2. php负载均衡原理_PHP超级负载均衡
  3. Keras tensorflow Resnet模型
  4. 计算机程序是怎样运行的-hello world程序运行原理
  5. 2020年推荐系统工程师炼丹手册RecSys版
  6. Mysql视图与数据备份
  7. spring-aop相关概念
  8. 【BZOJ 4671】异或图 【斯特林反演】【线性基】【贝尔数复杂度】
  9. IDEA 配置Tomcat
  10. BZOJ2440 [中山市选2011]完全平方数
  11. Android 蓝牙4.0 BLE 获取链接设备Rssi值
  12. 记录一次面试经历(深刻)
  13. 《从0开始学大数据》的启示
  14. nginx的返回值替换模块sub_filter
  15. 阿里云研究中心主任田丰: 如何从实体经济走向智能产业
  16. GBase 8c查看数据
  17. 70个JavaScript面试问题
  18. 技术封锁倒逼自主创新:中国进入空间站时代,这三大自主创新技术不输美俄!
  19. 数据结构的顺序表操作集
  20. 该怎么去学UI设计?UI设计学习路线分享

热门文章

  1. CuteFTP下载包含中文的文件,无法下载的问题
  2. 阿帕奇服务器搭建网站,使用Apache搭建Web网站服务器
  3. 【数值计算方法】学习笔记
  4. 手把手OAuth2授权码模式(Authorization Code)
  5. 第四章 选择结构程序设计习题总结
  6. 国产双模蓝牙芯片简介
  7. 网络工程师成长日记389-防火墙
  8. 泛泰A870(高通APQ8064t 600 cpu) Mokee4.4.2(Android4.4) 图赏
  9. 联想昭阳E46A笔记本的一个问题
  10. 跟父亲一样伟大的程序员,请一定要照顾好自己!