0

我在使用宽吻时遇到问题。根据它的说明,我需要按照说明添加一个error_handler。在说明中我放置了函数:

def error_handler(err):
    ex = err['exception']
    if isinstance(ex, HTTPError) and ex.code == 404:
        time.sleep(random.expovariate(0.1))
        return True

指令中的示例说要使用这一行:

amazon = bottlenose.Amazon(ErrorHandler=error_handler)

我有这个:

amazon = bottlenose.Amazon(AWSAccessKeyId=ACCESS_KEY_ID, AWSSecretAccessKey = SECRET_KEY,AssociateTag = ASSOC_TAG)

但我没有得到正确的回应。为什么?

4

1 回答 1

2

您是否太快提交请求?你需要放慢速度。每秒一个请求是一个不错的速度。

亚马逊产品广告 API 返回三个类别的错误,以便您可以轻松确定如何最好地处理问题:

  • 2XX 错误是由请求中的错误引起的。例如,您的请求可能缺少必需的参数。响应中的错误消息清楚地表明出了什么问题。
  • 4XX 错误是非瞬态错误。收到此错误后,重新提交请求。
  • 5XX 错误是反映亚马逊内部错误的暂时性错误。503 错误意味着您提交请求的速度过快并且您的请求受到限制。如果是这种情况,您需要将请求速率降低到每秒一个请求。
于 2014-08-29T01:34:58.840 回答