Python使用captcha制作验证码的实现示例

目录
  • 1 生成单张验证码图片并显示
  • 2 验证码图片的显示与保存
  • 3 批量生成验证码样本集

在使用Keras搭建验证码识别模型时,需要大量的验证码图片。在这里,使用captcha模块生成验证码图片,验证码图片名称为验证码上显示的字符串。

1 生成单张验证码图片并显示

生成一张验证码的代码如下:

from captcha.image import ImageCaptcha
import matplotlib.pyplot as plt
import numpy as np
import random
import string

#characters为验证码上的字符集,10个数字加26个大写英文字母
#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ str类型
characters=string.digits+string.ascii_uppercase

width,height,n_len,n_class=170,80,4,len(characters)

#设置验证码图片的宽度widht和高度height
#除此之外还可以设置字体fonts和字体大小font_sizes
generator=ImageCaptcha(width=width,height=height)

#生成随机的4个字符的字符串
random_str=''.join([random.choice(characters) for j in range(4)])

#生成验证码
img=generator.generate_image(random_str)

#显示验证码图片和验证码标题
plt.imshow(img)
plt.title(random_str)
plt.show()

程序运行结果为:

2 验证码图片的显示与保存

上面代码中生成的验证码是PIL图像格式,因此也可以直接使用PIL自带的show方法显示图片,save方法保存图片
如下:

#显示验证码
img.show()

#保存验证码
file_name=random_str+'.jpg'
img.save(file_name)

3 批量生成验证码样本集

当我们在深度学习中,进行验证码进行字符识别,需要大量的图片,因此我们可以批量生成大量的样本。这里以生成一万张样本为例。
代码如下:

from captcha.image import ImageCaptcha
import matplotlib.pyplot as plt
import numpy as np
import random
import string
from PIL import Image

#characters为验证码上的字符集,10个数字加26个大写英文字母
#0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ str类型
characters=string.digits+string.ascii_uppercase

width,height,n_len,n_class=170,80,4,len(characters)

#生成一万张验证码
for i in range(10000):
    generator=ImageCaptcha(width=width,height=height)
    random_str=''.join([random.choice(characters) for j in range(4)])
    img=generator.generate_image(random_str)

    #将图片保存在目录yzm文件夹下
    file_name='./yzm/'+random_str+'_'+str(i)+'.jpg'
    img.save(file_name)

当程序执行完,会在文件夹yzm下生成一万张验证码图片

到此这篇关于Python使用captcha制作验证码的实现示例的文章就介绍到这了,更多相关Python captcha验证码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python之验证码生成(gvcode与captcha)

    今天向大家总结一下python在做项目时用到的验证码生成工具:gvcode与captcha gvcode 全称:graphic-verification-code 安装: pip install gvcode 使用: import gvcode s, v = gvcode.generate() #序列解包 s.show() #显示生成的验证码图片 print(v) #打印验证码字符串 效果: captcha 安装: pip install captcha 使用: from captcha.ima

  • Python使用captcha库制作带参数输入验证码案例

    目录 效果图 参数解析 安装相关库 完整源码 最近研究验证码识别,需要生成大量验证码,最方便的是使用captcha库来生成验证码,网上代码仅仅使用默认设置,但是它还有很多参数可以设定,于是我又添加了一些参数,方便使用. 效果图 参数解析 在上述案例中,完整命令为 python captcha_gen.py w=210 h=100 n=6 c=2 fontsize=[40,50,60] 其中: w=210指定验证码图片宽度 h=100指定验证码图片高度 n=6指定验证码字符长度 c=2指定生成的验

  • python为tornado添加recaptcha验证码功能

    复制代码 代码如下: from urllib.request import urlopen    from urllib.parse import urlencode    import tornado.httpserver    import tornado.ioloop    import tornado.web #获取key: https://www.google.com/recaptcha/whyrecaptcha    publickey = '填入你的 public key'   

  • Python使用captcha制作验证码的实现示例

    目录 1 生成单张验证码图片并显示 2 验证码图片的显示与保存 3 批量生成验证码样本集 在使用Keras搭建验证码识别模型时,需要大量的验证码图片.在这里,使用captcha模块生成验证码图片,验证码图片名称为验证码上显示的字符串. 1 生成单张验证码图片并显示 生成一张验证码的代码如下: from captcha.image import ImageCaptcha import matplotlib.pyplot as plt import numpy as np import random

  • Python爬虫+Tkinter制作一个翻译软件的示例

    今天咱们用Python爬虫和Tkinter界面来做一个翻译软件. 一.运行效果 软件实现功能:当我们输入英文或中文时,程序即可打印出来对应的译文,如图: 二.实现方法 1. 爬虫部分 实现一键翻译最简单的方式就是爬虫,我们只需将要翻译的内容传入,然后将翻译的结果爬取下来呈现给用户即可.在本文中,我们选择的网站是有道翻译. 下图这个界面,你在左边输入文字,那么浏览器会把你输入的信息传输给服务器.再在右侧返回对应翻译结果.这就是一个典型的Post操作. 由于之前我们的爬取都是采用的Get方式来获取数

  • python利用Tesseract识别验证码的方法示例

    无论是是自动化登录还是爬虫,总绕不开验证码,这次就来谈谈python中光学识别验证码模块tesserocr和pytesseract.tesserocr和pytesseract是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,pytesseract是Google的Tesseract-OCR引擎包装器:所以它们的核心是tesseract,因此在安装tesserocr之前,我们需要先安装tesseract. 下载安装 下载地址:https://digi.b

  • Python Selenium Cookie 绕过验证码实现登录示例代码

    之前介绍过通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍  1.1.直接看代码,内有详细注释说明 # FileName : Wm_Cookie_Login.py # Author : Adil # DateTime : 2018/3/20 19:47 # SoftWare : PyCharm from selenium import webdriver import time url = 'https://system.address'

  • Python简单的制作图片验证码实例

    这里示范的验证码都是简单的,你也可以把字符扭曲 Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以使用它来生成图片验证码 PIL安装 命令安装: pip install pillow 下载源码安装: 复制地址 :https://github.com/python-pillow/Pillow PIL使用 例子:生成图片,并填充文字 #!/usr/bin/python #-*-coding:utf-8-*- from PIL import Image, Ima

  • Python random模块制作简易的四位数验证码

    先给大家介绍下python中random模块 random与numpy.random对比: 1.random.random():生成[0,1)之间的随机浮点数: numpy.random.random():生成[0,1)之间的随机浮点数: numpy.random.random(size=(2,2)),生产一个2维的随机数组,每维2个随机数,数据区间[0,1) 2.random.randint(a,b):生产[a,b]之间的随机整数; numpy.random.random(1,5,5):返回一

  • Python识别验证码的实现示例

    废话不多说,直接开干! 首先安装库 pip install pytesseract pip install PILLOW 然后按照tesseract程序下载安装 tessercat下载地址:https://digi.bib.uni-mannheim.de/tesseract/ //请依据自己的操作系统下载exe文件安装 用户变量,系统变量都添加:PATH C:\Program Files (x86)\Tesseract-OCR; //这是tesseract的安装目录 系统变量添加:TESSDAT

  • Python制作可视化报表的示例详解

    大家好,我是小F- 在数据展示中使用图表来分享自己的见解,是个非常常见的方法. 这也是Tableau.Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图形解释. 当然了,这些工具也有着不少缺点,比如不够灵活,无法让你自己创建设计. 当你对图表展示要求定制化时,编程也许就比较适合你,比如Echarts.D3.js. 今天小F给大家介绍一个用Python制作可视化报表的案例,主要是使用到Dash+Tailwindcss. 可视化报表效果如下,水果销售情况一览~ Das

  • JSP 制作验证码的实例详解

    JSP 制作验证码的实例详解 验证码 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart"(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现

随机推荐