Python AmazonAPI 错误 503 服务不可用

Posted

技术标签:

【中文标题】Python AmazonAPI 错误 503 服务不可用【英文标题】:Python AmazonAPI Error 503 Service Unavailable 【发布时间】:2017-02-26 08:43:42 【问题描述】:

使用 AmazonApi for python,给我错误 503。这真的很奇怪,因为相同的脚本直到三天前才有效。从那时起,它给出了错误 503。我做了一些研究,发现当一秒钟内提交的请求过多时,亚马逊会触发 503。我确实每 5 秒处理一个项目,我确实想获得价格和名称,我什至在它们之间有一个懒惰的 sleep(1)。 我看到有人建议使用标题来使其工作,但它仍然没有。 amazon_uk = AmazonAPI('credentials', region="UK") headers = 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/51.0.2704.106 Safari/537.36' 然后我会通过以下方式获取名称和价格:

NAME = amazon_uk.lookup(ItemId=url).title sleep(1) SALE_PRICE = amazon_uk.lookup(ItemId=url).price_and_currency

其中url 取自文件。 奇怪的是有时它会上升到第 30 项,有时它只在第 1 项时崩溃。 附言即使我将sleep 放在任何地方,它仍然会引发错误。 有人遇到过吗?

谢谢

【问题讨论】:

【参考方案1】:

503 错误响应意味着您向亚马逊发送请求的速度过快。尝试将暂停间隔增加到 5 秒甚至 10 秒。还要检查 http 响应标头以获取 503 错误的描述。亚马逊开发者论坛讨论了类似的问题:https://forums.aws.amazon.com/thread.jspa?messageID=564184

【讨论】:

一般来说,HTTP 429 是服务器告诉您发送太多请求的方式太快了。如果服务器尚未准备好处理请求、因维护而停机或服务后端停机等,服务器可以返回 503。503 是临时情况,调用者应在合理的时间段后重试。 developer.mozilla.org/en-US/docs/Web/HTTP/Status/503

以上是关于Python AmazonAPI 错误 503 服务不可用的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 请求模块时出现 HTTP 503 错误

如何使用 Python 读取大型 Firestore 集合而不会遇到 503 超时错误

尝试使用 python 访问 Google 专利时出现 503 错误

谷歌搜索使用 python3 爬行时出现 503 错误——请求,Beautifulsoup4

pip 在获取 https://pypi.python 时失败并出现 HTTP 错误 503

在 cpanel 上设置 python 时收到 503 服务器繁忙错误代码