【问题标题】:HTTP Error 429 Too Many Requests - delete cookiesHTTP 错误 429 请求过多 - 删除 cookie
【发布时间】:2020-05-26 22:27:36
【问题描述】:

我正在使用模块谷歌搜索网页抓取,但我收到此错误 429。我尝试再次卸载并安装模块,但没有帮助。所以我的下一个想法是删除cookies,但我不知道怎么做。你能帮帮我吗?

query = 'site:https://stackoverflow.com urllib.error.HTTPError: HTTP Error 429: Too Many Requests'
search_query = search(query=query, stop=10)
for url in search_query:
print(url)

【问题讨论】:

  • 由于发送的请求过多,Stackoverflow 对您进行了速率限制。这是为了防止 DoS 攻击。解决这个问题的唯一方法是使用代理,但更好的办法是编写一个根本不会很快发送请求的程序
  • 我再次尝试卸载并安装模块,但没有帮助。 为什么会有帮助?引用Mozilla developer docsHTTP 429 Too Many Requests 响应状态代码表明用户在给定时间内发送了太多请求(“速率限制”)。此响应中可能包含 Retry-After 标头,指示在发出新请求之前要等待多长时间。
  • 所以我的下一个想法是删除 cookie,但我不知道怎么做。我确信有很多现有资源可以做到这一点。

标签: python google-search


【解决方案1】:

429 请求过多

HTTP 429 Too Many Requests 响应状态代码表示用户在给定时间内发送了太多请求(“速率限制”)。响应表示应该包含解释条件的详细信息,并且可以包含一个 Retry-After 标头,指示在发出新请求之前要等待多长时间。

请注意,本规范没有定义源服务器如何识别用户,也没有定义请求计数的方式。例如,限制请求速率的源服务器可以基于每个资源、整个服务器甚至一组服务器之间的请求计数来执行此操作。同样,它可能通过其身份验证凭据或有状态的 cookie 来识别用户。

您在短时间内发送的请求过多。 Custom Search API 可能有用,具体取决于您的使用场景。如果没有,那么您可能必须为您的调用使用代理,或者实现等待和重试机制

【讨论】:

  • 一次查询的限制是多少?每次查询多少?我在一个查询中遇到了这个错误,然后我更改了查询的内容,使用了谷歌搜索,然后我回到了旧查询,并且该模块可用于随机搜索计数。我不知道这个错误是如何工作的。我认为我需要要么删除cookie,但我不知道如何,或者在单位时间后重试,但我不知道需要等待多长时间。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-24
  • 2014-05-12
  • 2019-10-04
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多