python 验证码

简介: 学习了解python 验证码。

#coding=utf-8

import random #随机模块,可以生成随机数
from PIL import Image,ImageDraw,ImageFont,ImageFilter
#Image 负责处理图片
#ImageDraw 负责处理画笔
#Imagefont 负责处理字体
#ImageFilter 负责处理滤镜

#项目思路:

  #1、定义一张图片

img=Image.new("RGB",(150,50),(255,255,255))
"""
 第一个参数:代表我们采用的RGB颜色模式
 第二个参数:代表图片大小
 第三个参数:具体的图片颜色
"""

  #2、创建画笔

draw =ImageDraw.Draw(img)

#3、绘制线条和点

#绘制线
for i in range(random.randint(1,10)):
    draw.line(
         #在汇制线条时有个特色:每条线有两个点,每个点靠x,y两个值来确定位置
         [
            (random.randint(1,150),random.randint(1,150)),
            (random.randint(1,150),random.randint(1,150))
         ],
         fill=(0,0,0)
    )       
       #绘制点
for i in range(1000):
    draw.point(
               [
                  random.randint(1,150),
                  random.randint(1,150)
               ],
               fill=(0,0,0)
      )

 

  #4、绘制我们的文字

#我们的文字是随机产生的
      #我们的文字个数是一定的
         #定义我们要生成随机数的字母和数字
font_list = list("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
c_chars = "".join(random.sample(font_list,7))
#random.sample是在制定的列表当中随机的取出指定个元素
      #绘制字体
          #我们需要先定制一下字体
font = ImageFont.truetype("simsun.ttc",32)
draw.text((5,5),c_chars,font=font,fill="green")
"""
第一个参数:代表文字的位置,距离上和左的距离
第二个参数:代表文字的内容
第三个参数:代表字体
第四个参数:字体颜色
"""

     

#5、定义扭曲的参数

params=[1-float(random.randint(1,2))/100,
       0,
       0,
       0,
       1-float(random.randint(1,2))/100,
       float(random.randint(1,2))/500,
       0.001,
       float(random.randint(1,1))/500,
      ]


  #6、使用滤镜

#添加滤镜
img=img.transform((150,50),Image.PERSPECTIVE,params)
"""
第一个参数:扭曲的范围
第二个参数:扭曲的样式
第三个参数:扭曲的参数
"""   
          #进行扭曲
img=img.filter(ImageFilter.EDGE_ENHANCE_MORE)       
img.show()

 

相关文章
|
5月前
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
316 0
|
数据采集 文字识别 测试技术
Python3,这个库,真的是图片类型验证码的克星,真香。
Python3,这个库,真的是图片类型验证码的克星,真香。
91 0
|
3月前
|
机器人 计算机视觉 Python
使用Python生成图片验证码
本文介绍了如何使用Python的PIL库生成简单的验证码图片和文本。通过实现CaptchaGenerator类,我们可以轻松生成包含随机字符和干扰元素的验证码。这种技术可以应用于Web应用程序中,用于增强用户验证的安全性和可靠性。
|
4月前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
5月前
|
人工智能 开发工具 Python
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
|
4月前
|
数据采集 计算机视觉 Python
Python验证码的实操讲解
Python验证码的实操讲解
42 0
|
5月前
|
数据采集 文字识别 测试技术
神器!使用Python 轻松识别验证码
本文介绍了使用Python进行验证码识别,主要包括安装Tesseract OCR和相关Python库,如`pytesseract`和`opencv-python`。通过Pillow加载验证码图片,使用`pytesseract`进行简单数字验证码识别。对于数字字母混合的验证码,先进行二值化和降噪处理,然后使用`cv2.findContours`分割字符并分别识别。这种方法适用于自动化测试和爬虫中的验证码处理。
837 2
|
5月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
|
机器人 UED Python
基于Python+Flask实现一个简易网页验证码登录系统案例
基于Python+Flask实现一个简易网页验证码登录系统案例
200 0
基于Python+Flask实现一个简易网页验证码登录系统案例
|
5月前
|
数据采集 Web App开发 文字识别
Python爬虫之点触验证码的识别
点触验证码识别思路,初始化,获取,识别。
158 0
Python爬虫之点触验证码的识别
下一篇
无影云桌面