我正在尝试通过 Google 上的简单查询获得第一个非广告结果。
res = requests.get('https://www.google.com?q=' + query)
为查询分配任何值,您将收到错误。我试图添加一些标题,但没有任何变化。
我试图添加谷歌通常与查询相关联的所有其他参数,但同样没有任何变化。
如果您使用 selenium 进行搜索,则没有问题。
错误代码是 429,但这似乎只是对该查询的标准响应。它与我的 IP 无关,我也没有向 Google 发送垃圾邮件,并且这不会在一段时间后消失。
您知道为什么会发生这种情况吗,是否有一些我可以添加的标题,或者任何其他解决方案来查看结果,就像您在谷歌上搜索该关键字一样?
原文由 Adrian Nicoli 发布,翻译遵循 CC BY-SA 4.0 许可协议
429 请求过多
HTTP 429 Too Many Requests 响应状态代码表示用户在给定时间内发送了太多请求(“速率限制”)。响应表示应该包括解释条件的详细信息,并且可以包括一个
Retry-After
标头,指示在发出新请求之前等待多长时间。当服务器受到攻击或仅从一方收到大量请求时,使用
429
状态代码响应每个请求将消耗资源。因此,服务器不需要使用429
状态码;在限制资源使用时,可能更适合直接断开连接,或采取其他措施。然而,当我拿你的代码执行相同的测试时,我得到了如下完美的结果: