调用百度OCR接口报错:KeyError: ‘words_result‘ 三种有效解决方法

调用百度OCR接口报错:KeyError: ‘words_result‘

    • 问题描述
    • 原因分析
    • 解决方案
    • 最后

问题描述

很多人调用百度API 的时候都会出现这样的报错:Open api qps request limit reached(错误码为18),导致没有识别结果,所以会报错 KeyError: ‘words_result’

如图所示:
调用百度OCR接口报错:KeyError: ‘words_result‘ 三种有效解决方法_第1张图片
错误码为18 ,提示 Open api qps request limit reached

原因分析

查看官方文档 https://cloud.baidu.com/doc/OCR/s/dk3h7y5vr发现,出现错误码18的原因:
在这里插入图片描述
这边我们分两种情况:

  1. 我们没有调用接口的额度了,需要去领取一下免费调用额度,如果领取了请看第二种情况;
  2. 在有额度的情况下还是出现这种错误,原因:QPS(服务器每秒查询率)限额问题,我们调用频率太快了,文字识别速度太快,但QPS额度不够,导致出现错误。免费领取的QPS限制为2

解决方案

方法一:我们去后台领取免费额度
调用百度OCR接口报错:KeyError: ‘words_result‘ 三种有效解决方法_第2张图片

调用百度OCR接口报错:KeyError: ‘words_result‘ 三种有效解决方法_第3张图片
勾选全部,然后点击领取就行了
领取地址:百度OCR额度领取

方法二:

为了减小我们的调用频率,在代码中加入 time.sleep(1) 强制等待1-2秒(可根据自己的情况加减时间)

time.sleep(1)

调用百度OCR接口报错:KeyError: ‘words_result‘ 三种有效解决方法_第4张图片插入代码后,运行正常

方法三:有比较大需求的,可以花钱购买QPS额度。

最后

第二种情况,有些人说电脑连手机热点,也可以解决问题,我测试了一下确实可以,但有点不方便,也不利于使用,我还是比较推荐在代码中加入 time.sleep(1)。

你可能感兴趣的:(人工智能,python,其他,云计算)