识别图片信息

文章介绍了两种在Python中识别验证码的方法。首先,使用ddddocr库读取和分析图片中的验证码信息,然后通过Image和pytesseract库进行图片处理和文本提取。在高版本的Python中,ddddocr可能不再适用,因此转向了pytesseract作为替代方案。
摘要由CSDN通过智能技术生成

1、使用ddddocr方法识别图片信息,python更高版本不再使用ddddocr库

import ddddocr

#获取验证码图片地址

code = driver.find_element(By.XPATH, element)

#下载图片

code.screenshot('code.png')

#分析图片中的数据

ocr = ddddocr.DdddOcr()

with open('code.png''rb'as f:

    img_bytes = f.read()

res = ocr.classification(img_bytes)

#输入验证码

inputcode.send_keys(res)

2、使用Image、pytesseract库方法

from PIL import Image

import pytesseract

#定位验证码输入框位置

captcha = browser.find_element(By.XPATH'//*[@id="code"]')

获取验证码图片位置

captcha_element = browser.find_element(By.XPATH'//form[@id="formLogin"]/div[3]/div/div/span/span/span[2]/img')

#获取正确的验证码,并输入

while(True):

#保存照片

captcha_element.screenshot('captcha.png')

从图片提取验证码

with Image.open('captcha.png'as captcha_image:

        captcha_text = pytesseract.image_to_string(captcha_image)

#校验验证码,并输入

if len(captcha_text) == 5:

captcha.send_keys(captcha_text)

break

    else:

重新获取验证码

captcha_element.click()

        time.sleep(3)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值