巧用校验码

2020-06-19 10:25:39 浏览数 (1)

我们登录系统的时候,会经常遇到要输入校验码,这里教一下大家怎么利用图像识别技术来获取图片中的信息

一、首先我们要利用百度的智能云,利用第三方识别工具完成

登录百度智能云 : https://cloud.baidu.com/?from=console

并购买文字识别,可以免费很多次,购买不花钱

二、查看对应的api文档并编写

api地址: https://ai.baidu.com/ai-doc/OCR/3k3h7yeqa

如上图,我们先创建下客户端,并在应用管理找到对应的id和APPID AK SK

代码语言:javascript复制
from aip import AipOcr
# 填写你的 APPID AK SK
APP_ID = '18661368'
API_KEY = '8TCAb63EY19N28SDwXWUYpaz'
SECRET_KEY = '9G15KMaNzjVf8h9lThVPHrzRv0HRcqQr'
# 创建客户端
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 获取图片流
def get_img(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()
# 读取图片内容
def get_img_content(img):
    image = get_img(img)
    # 调用通用文字识别, 图片参数为本地图片
    # {'log_id': 7373687503406879321, 'words_result_num': 1, 'words_result': [{'words': '8220'}]}
    # res = client.basicGeneral(image) # 基础版 正确率低
    res = client.basicAccurate(image) # 精准版 正确率高
    res_words = res['words_result']  # [{'words': '8220'}]
    print(res_words[0]['words'])  # string类型字符串

get_img_content('timg.jpg')

结果如下:

这里,我是网上下载了的验证码写的一个简单的demo,以后我们就可以利用这个方法做一些关于验证码的测试,比如:seleniumUI自动化,写一个含有验证码的自动化登录或者识别下载的图片数字校验测试。

0 人点赞