Google Trends error: Sorry, our systems are a little stressed out right now and need to take a deep breath
Google Trends error: Sorry, our systems are a little stressed out right now and need to take a deep breath
我最近一直在使用 Python 的 pytrends 处理 Google Trends。我在随机请求期间遇到以下错误:
Response did not parse. See server response for details.
Sorry, our systems are a little stressed out right now and need to take a deep breath. Please try again in a few moments.
经过搜索,我发现这与 Google 趋势配额限制有关。例如,this 讨论了上述问题。
但就我而言,即使在很长一段时间后的第一次请求中,我也遇到过这种情况,并且我继续多次收到它,直到我最终得到适当的回应。大约 5 个请求中有一次成功响应,而其余的都是错误的。
注意:必须指出的是,我今天才遇到这个问题,虽然我在过去两天使用 Google Trends 时从未遇到过这个问题。
相关代码片段如下:
pytrends = get_pytrends()
payload = {'q': 'chelsea', 'date' : 'now 12-H'}
print(json.dumps(pytrends.trend(payload, return_type='json'), indent=4))
get_pytrends()
def get_pytrends():
try:
google_username = os.environ['GOOGLE_USERNAME']
google_password = os.environ['GOOGLE_SECRET']
except KeyError:
sys.stderr.write("GOOGLE_* environment variables not set\n")
sys.exit(1)
pytrends = TrendReq(google_username, google_password, custom_useragent=None)
return pytrends
导致此问题的原因是什么,我应该如何处理?
这个术语叫做 load shedding:这意味着 google 服务器足够聪明,可以识别它们何时收到它们无法处理的负载(太多请求),因此它们开始丢弃一些他们 "on the floor"(意思是,回应您看到的错误,而不是正确处理它)。
从 client-side(您的代码)处理它的方法是实现重试机制,在重试之间 exponential backoff 休眠。
您可以在 their docs 中查看有关他们 SLA 的更多信息。
我最近一直在使用 Python 的 pytrends 处理 Google Trends。我在随机请求期间遇到以下错误:
Response did not parse. See server response for details.
Sorry, our systems are a little stressed out right now and need to take a deep breath. Please try again in a few moments.
经过搜索,我发现这与 Google 趋势配额限制有关。例如,this 讨论了上述问题。
但就我而言,即使在很长一段时间后的第一次请求中,我也遇到过这种情况,并且我继续多次收到它,直到我最终得到适当的回应。大约 5 个请求中有一次成功响应,而其余的都是错误的。
注意:必须指出的是,我今天才遇到这个问题,虽然我在过去两天使用 Google Trends 时从未遇到过这个问题。
相关代码片段如下:
pytrends = get_pytrends()
payload = {'q': 'chelsea', 'date' : 'now 12-H'}
print(json.dumps(pytrends.trend(payload, return_type='json'), indent=4))
get_pytrends()
def get_pytrends():
try:
google_username = os.environ['GOOGLE_USERNAME']
google_password = os.environ['GOOGLE_SECRET']
except KeyError:
sys.stderr.write("GOOGLE_* environment variables not set\n")
sys.exit(1)
pytrends = TrendReq(google_username, google_password, custom_useragent=None)
return pytrends
导致此问题的原因是什么,我应该如何处理?
这个术语叫做 load shedding:这意味着 google 服务器足够聪明,可以识别它们何时收到它们无法处理的负载(太多请求),因此它们开始丢弃一些他们 "on the floor"(意思是,回应您看到的错误,而不是正确处理它)。
从 client-side(您的代码)处理它的方法是实现重试机制,在重试之间 exponential backoff 休眠。
您可以在 their docs 中查看有关他们 SLA 的更多信息。