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 读取大型 Firestore 集合而不会遇到 503 超时错误
尝试使用 python 访问 Google 专利时出现 503 错误
谷歌搜索使用 python3 爬行时出现 503 错误——请求,Beautifulsoup4