python+Selenium+Pytesseract 登录时自动识别验证码

本文介绍了使用Python结合Selenium和Pytesseract进行验证码识别的尝试,虽然能实现基本功能,但识别成功率较低。识别出的验证码可能包含空格或特殊字符,通过正则表达式可去除。为提高准确性,需使用while循环多次识别。文章旨在记录学习过程中的问题及解决方案,供他人参考,同时也欢迎指正。
摘要由CSDN通过智能技术生成

python+Selenium+Pytesseract登录时自动识别验证码

一直想试着使用python+selenium+pytesseract来做一下验证码识别。

按照网上提供的方法尝试了一下,大体的功能能实现。

(参考:https://www.jianshu.com/p/afcde49c57b7

就是想吐槽一下,这个识别的成功率真是不高。。。。

 

补充两点:

一、识别出来的验证码,有时候包含空格或者特殊字符。

可以使用下面的正则表达式除去

import re

code = pytesseract.image_to_string(img)
code = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])", "", code)

 

二、验证码正常一次是识别不出来,需要多识别几次。

可以使用while循环 

        while True:
            # 清空验证码输入框
            d.find_element_by_css_selector('input[placeholder="请输入验证码"]').clear()
            # 找到验证码img标签,切图
            img_code = d.find_element_by_id('authCode')
            # 算出验证码的四个点,即验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值