python验证码识别模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python验证码识别模块相关的知识,希望对你有一定的参考价值。

参考技术A

只需要简单几步操作即可拥有两大通用识别模块,让你在工作中畅通无阻。

测试图片 test1.png

测试图片 test2.jpg

以上参数两者选其一即可,默认 model_type 为 ModelType.OCR, 若指定 conf_path 参数则优先使用自定义模型。

注意: 因模块过新,阿里/清华等第三方源可能尚未更新镜像,因此手动指定使用境外源,为了提高依赖的安装速度,可预先自行安装依赖:tensorflow/numpy/opencv-python/pillow/pyyaml

输出结果:

OCR和验证码识别的速度基本都在10ms左右,低配CPU可能需要15-20ms。本模块仅支持单行识别,如有多行识别需求请自行采用目标检测预裁图片。

python+selenium+Tesseract-OCR识别图片验证码

#获取图片验证码
#pip install pytesseract  下载 pytesseract模块
import pytesseract
# 链接:https://pan.baidu.com/s/1zi-pky5oPdcGFl5nI8BAnw
# 提取码:dyxt
# 下载 tesseract-ocr工具然后安装

#导入PIL模块中的 Image,ImageEnhance 模块
from PIL import Image,ImageEnhance
from selenium import webdriver
from time import sleep

#例:多有米后台管理系统登录
driver = webdriver.Chrome()
driver.get(\'http://192.168.244.128:8080/manage/\')
driver.implicitly_wait(10)
driver.maximize_window()

driver.find_element_by_xpath(\'//*[@id="username"]\').send_keys(\'admin\')
driver.find_element_by_xpath(\'//*[@id="password"]\').send_keys(\'123456\')

def login_verify():
    driver.find_element_by_xpath(\'//*[@id="password"]\').send_keys(\'123456\')
    # 截取屏幕内容,保存到本地
    driver.save_screenshot("C:\\\\Project\\\\pageobject\\\\config\\\\img.png")
    # 打开截图,获取验证码位置,截取保存验证码
    ran = Image.open("C:\\\\Project\\\\pageobject\\\\config\\\\img.png")
    # 获取验证码位置,使用手动定位,代表(左,上,右,下)
    box = (1315, 366, 1385, 390)
    # 把获取的验证码保存
    ran.crop(box).save("C:\\\\Project\\\\pageobject\\\\config\\\\img02.png")
    #打开验证码图片,读取验证码
    imageCode = Image.open("C:\\\\Project\\\\pageobject\\\\config\\\\img02.png")
    sleep(1)
    # 读取验证码
    code = pytesseract.image_to_string(imageCode).strip()
    # print(code)
    #输入验证码
    driver.find_element_by_xpath(\'//*[@id="vcode"]\').send_keys(code)
    driver.find_element_by_xpath(\'//*[@id="i_submit"]\').click()
    text = driver.find_element_by_xpath(\'//*[@id="credentials.errors"]\').text
    if text == \'验证码有误!\':
        login_verify()
    else:
        print(\'我将继续执行\')

login_verify()

 

以上是关于python验证码识别模块的主要内容,如果未能解决你的问题,请参考以下文章

PP云高级测试工程师详析图片验证码识别-Python PIL 模块

#私藏项目实操分享#Python模拟登录,selenium模块,Python识别图形验证码实现自动登录

爬虫遇到验证码?Python助你弹窗处理和验证码识别

python3图片验证码识别率的种类最多第三方模块-MuggleOCR

python+selenium+Tesseract-OCR识别图片验证码

Python验证码识别 安装Pillowtesseract-ocr与pytesseract模块的安装以及错误解决