已解决Python调用免费申请的百度图形识别接口案例

已解决Python调用免费申请的百度图形识别接口{‘error_code‘: 18, ‘error_msg‘: ‘Open api qps request limit reached‘}





文章目录

  • 报错代码
  • 报错翻译
  • 报错原因
  • 解决方法
  • 帮忙解决





报错代码



粉丝群里面的一个粉丝用Python调用免费申请的百度图形识别接口的的时候,发生了报错(跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息和代码如下:


import time

from aip import AipOcr
import os
import xlwt

"""定义常量(写自己注册后百度发给你的)"""
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
"""初始化对象"""
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)


def jiexi(filePath, data_list):
    """读取图片"""
    with open(filePath, 'rb') as fp:
        image = fp.read()
        """调用通用文字识别接口, 识别本地图像"""
        result = client.basicGeneral(image)
        print(result)
        i = 0
        for item in result['words_result']:
            # print(item['words'])
            if i == 0:
                num = item['words']
            elif i == 1:
                g = item['words']
            elif i == 2:
                s = item['words']
            i += 1
            if i == 3:
                data_list.append((num, g, s))
                i = 0


def to_excel(temp):
    # 1. 创建Excel表对象
    workbook = xlwt.Workbook(encoding='utf8')
    # 2. 新建sheet表
    worksheet = workbook.add_sheet('Sheet1')
    # 3. 自定义列名
    col1 = ('序号', '企业名称', '市(州)')
    # 4. 将列属性元组col写进sheet表单中第一行
    for i in range(0, len(col1)):
        worksheet.write(0, i, col1[i])

    # 5. 将数据写进sheet表单中
    for i in range(0, len(temp)):
        data = temp[i]
        for j in range(0, len(col1)):
            worksheet.write(i + 1, j, data[j])
    # 6. 保存文件分两种格式
    workbook.save(r'2020.xls')


def main():
    in_path = r"C:\Users\Administrator\Desktop\工作文档\2020"
    fin = [fname for fname in os.listdir(in_path)]
    data_list = []
    for img in fin:
        img_path = in_path + '\\' + img
        print(img_path)
        jiexi(img_path, data_list)
    # to_excel(data_list)


if __name__ == '__main__':
    main()



刚开始两个图片都是读取都是成功的,第三个的时候就打印出:

{'error_code': 18, 'error_msg': 'Open api qps request limit reached'}



报错翻译



报错信息翻译如下

{‘error_code’:18,‘error_msg’:‘已达到打开api qps请求限制’}





报错原因



免费申请的百度图像识别接口只支持一分钟调用两次如下图所示,小伙伴们按下面的方法解决即可:

在这里插入图片描述





解决方法



循环遍历图片的时候加上时间限制,休息一分钟再调用没有问题了:

time.sleep(60)

帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

你可能感兴趣的:(《告别Bug》,python,开发语言,图像处理)