• python爬虫-30-python之图形验证码技术


    图形验证码是验证码的一种,是根据图里面的数字和字母输入进去,正确后便可以登陆程序的验证方式。现在很多网站都使用了这种技术,我们应该如何通过python正确的识别到图形验证码呢?

    图片

    1、安装tesseract

    这里我们使用Tesseract软件来进行识别,这个需要提前在你自己的电脑上安装,而后python通过调用该软件来进行识别,不同的平台,比如windowslinuxmac的安装,需要下载适合自己平台的软件来安装,安装方式大同小异,我这里使用的是windows平台;

    软件下载地址为:

    https://tesseract-ocr.github.io/tessdoc/Downloads.html
    
    
    • 1
    • 2

    访问以上地址之后,根据自己的需要,下载不同的版本即可,需要注意的是安装路径最好不要存在中文字符。

    2、验证tesseract

    需要我们先配置个环境变量,只需要将tresseract的安装目录添加到环境变量即可;

    然后我们在命令行执行如下命令:

    tesseract 欲识别图片的地址 文本名字
    # 第一个参数是你想识别图片的完整地址
    # 第二个是识别结束之后将结果输出到这个文本中,不需要写后缀名
    
    
    • 1
    • 2
    • 3
    • 4

    例如:

    识别的图片为:

    图片

    代码:

    PS C:\Users\22768\Desktop> tesseract C:\Users\22768\Desktop\1654762989456.jpg 220609
    Tesseract Open Source OCR Engine v3.02 with Leptonica
    PS C:\Users\22768\Desktop>
    
    
    • 1
    • 2
    • 3
    • 4

    然后他就会将识别结果输出到220609.txt这个文本当中,我们看下这个文本中的内容:

    123456
    
    
    • 1
    • 2

    3、python识别图形验证码

    我们接下来就使用python识别图片中的文字,也就是验证码;

    我们需要提前安装几个模块,命令如下:

    pip install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    
    • 1
    • 2
    • 3

    然后我们需要看下支持什么语言:

    import pytesseract
    pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"  # 这个地址要写你实际安装路径
    print(pytesseract.get_languages(config=''))
    
    
    • 1
    • 2
    • 3
    • 4

    我这里的输出结果是两种,如下:

    ['eng', 'osd']
    
    
    • 1
    • 2

    当我们知道支持的语言之后,我们就来通过python识别一下:

    import pytesseract
    from PIL import Image
    
    pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"
    image = Image.open(r"C:\Users\22768\Desktop\1654762989456.jpg")
    text = pytesseract.image_to_string(image, lang='eng+osd')
    print(text)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    输出结果如下:

    123456
    
    
    • 1
    • 2

    至此,本文结束,下面我们将就此开展深层次的使用。

    更多内容请转至VX公众号 “运维家” ,获取最新文章。

    ------ “运维家” ------
    ------ “运维家” ------
    ------ “运维家” ------

    linux系统下,mknodlinux,linux目录写权限,大白菜能安装linux吗,linux系统创建文件的方法,领克linux系统怎么装软件,linux文本定位;
    ocr识别linux,linux锚定词尾,linux系统使用记录,u盘有linux镜像文件,应届生不会Linux,linux内核64位,linux自启动管理服务;
    linux计算文件夹大小,linux设备名称有哪些,linux能用的虚拟机吗,linux系统进入不了命令行,如何创建kalilinux,linux跟so文件一样吗。

  • 相关阅读:
    大学生抗击疫情感动人物最美逆行者网页设计作业 html抗疫专题网页设计 最美逆行者网页模板 致敬疫情感动人物网页设计制作
    计算点云每个点的局部点云最大高度差值(附open3d python代码)
    我的docker随笔38:用 registry 搭建私有仓库
    C# NModbus4 TCP 主从站通信样例
    全真模拟题!PMP提分必练
    Qt插件系统
    通过cri-o部署k8s集群环境
    ubuntu中插入一个用户函数不停的运行
    从中间件团队窃取了这个组件,见识到了编码能力的天花板!!
    算法基础学习|二分
  • 原文地址:https://blog.csdn.net/ouyangzhenxin/article/details/125328147