Python3,奇妙旅行之4行代码生成图像验证码

举报
Carl_奕然 发表于 2023/03/10 12:29:46 2023/03/10
【摘要】 没想到生成图片验证码,也就3行代码的事。

1、引言

在学习的路上,永无止境。就好比人掉进"深渊",永远无法自拔 !   ~  ~!我没有开车,我没有开车~~~

今天空闲时间再看某大佬得论坛,被点了一下,就想起来了2种方法,生成图片验证码,简约而不失优雅~~

代码上来~~

2、代码实例

2.1 安装

2.1.1  graphic-verification-code库

老规矩, pip方式安装:

pip install  graphic-verification-code 


    2.1.2   captcha库

    老规矩, pip方式安装:

    pip install  captcha

    其它安装方式,直接看这两篇:

    2.2 代码示例

    2.2.1  graphic库生成图片

    代码展示

    # -*- coding:utf-8 -*-
    # @Time   : 2023-03-12
    # @Author : Carl_DJ
    
    import gvcode
    a,m = gvcode.generate()  #序列解包
    a.show() #显示生成的验证码图片
    print(m)


    运行结果


     

    2.2.2 captcha库生成图片

    • 实例一、3行生成图片验证码

    代码展示

    # -*- coding:utf-8 -*-
    # @Time   : 2023-03-12
    # @Author : Carl_DJ
    
    from captcha.image import ImageCaptcha
    
    img = ImageCaptcha().generate_image("176AK0")
    img.show()

     运行结果

    • 实例二、生成随机图像验证码

    代码展示

    # -*- coding:utf-8 -*-
    # @Time   : 2023-03-12
    # @Author : Carl_DJ
    
    from captcha.image import ImageCaptcha
    from random import randint
     
    #设定随机生成图片的范围
    list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
            'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
     
    data = ''
    #循环遍历抽取4个值,生成图片验证码
    for i in range(4):
        data += list[randint(0,62)]
    
    img= ImageCaptcha().generate_image(data)
    img.show()
     

     运行结果

    3、总结

    看到这里,今天的内容,就分享到这里。

    现在回顾一下, 在实际场景中,这种随机生成图片验证码的场景很多。

    所以,作为一名技术er,这种生成验证码图片的技巧,必须掌握。 


    我是​小鱼​:

    • CSDN 博客专家;
    • 阿里云 专家博主;
    • 51CTO 博客专家;
    • 51认证讲师;
    • 金牌面试官&面试培训师;

    关注我,带你学习更多更有趣的Python知识。


    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。