You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的googlesearch库时遭遇429错误的技术求助

解决googlesearch库调用时的429错误:添加Cookie参数

原问题代码

from googlesearch import search

query = input(": ")

for j in search(query, tld="co.in", num=1, user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",):
    print(j)

运行上述代码时,即便已设置User-Agent且限制返回结果为1,仍触发429 Too Many Requests错误,可通过添加Cookie缓解该问题。


解决方案:给search函数传入Cookie参数

googlesearch的search函数原生支持cookie参数,只需从浏览器获取谷歌搜索的有效Cookie,转换成字典后传入即可。

步骤1:获取浏览器中的谷歌Cookie

  1. 打开浏览器访问https://www.google.co.in,可登录Google账号(登录后的Cookie有效期更长)
  2. 按F12打开开发者工具,切换到「Network」标签页,刷新页面
  3. 在请求列表中找到第一个针对www.google.co.in的GET请求,查看其「Request Headers」里的Cookie字段
  4. 将Cookie字符串拆解为键值对字典,比如把"NID=xxx; SID=yyy"转换为{"NID": "xxx", "SID": "yyy"}

步骤2:修改代码传入Cookie

把获取到的Cookie字典传入search函数的cookie参数:

from googlesearch import search

query = input(": ")

# 替换为你从浏览器获取的Cookie键值对
google_cookies = {
    "NID": "你的NID值",
    "SID": "你的SID值",
    # 保留其他必要的Cookie项
}

for result in search(
    query,
    tld="co.in",
    num=1,
    user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",
    cookie=google_cookies
):
    print(result)

注意事项

  • Cookie存在有效期,过期后需要重新从浏览器获取
  • 即使添加了Cookie,也不要短时间内频繁发送请求,谷歌仍会对请求频率做限制
  • 如果需要长期维护会话,可以结合requests.Session()自动管理Cookie,但直接传入cookie参数是最快捷的方式

内容的提问来源于stack exchange,提问作者Aslantokot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:59:58