Python GoogleSearch 模块错误:“TypeError:search() 获得意外的关键字参数 'tld'”

E.M*_*MRZ 4 python google-search python-3.x

这是我的代码,在我使用它时没有收到错误之前它工作正常。我不明白这是怎么发生的,尽管我没有随之改变。:

    results = []
for query in my_list:
    results.append(search(query, tld="com", num=1, stop=1, pause=2))
Run Code Online (Sandbox Code Playgroud)

错误:

results.append(search(query, tld="com", num=1, stop=1, pause=2))
TypeError: search() got an unexpected keyword argument 'tld'
Run Code Online (Sandbox Code Playgroud)

小智 10

它来自googlepython 包。所有版本仍然有效。

版本参数:

  • query:我们要搜索的查询字符串。
  • tld:tld 代表顶级域名,这意味着我们要在 google.com 或 google.in 或其他域名上搜索结果。
  • lang: lang 代表语言。
  • num:我们想要的结果数量。
  • start:要检索的第一个结果。
  • stop:要检索的最后结果。使用 None 来永远继续搜索。
  • pause:HTTP 请求之间的等待时间间隔。间隔太短可能会导致 Google 屏蔽您的 IP。保持明显的失误会使你的程序变慢,但它是安全且更好的选择。
  • Return:生成找到的 URL 的生成器(迭代器)。如果 stop 参数为 None ,迭代器将永远循环。

这是你真正的问题:

还有一个 python 包,其模块名称为googlesearch

链接在这里

由于它可能安装在您的环境中,因此可能会调用不包含这些参数的模块。

BlockBuster 解决方案是:(在本地测试了这两个包)

  • 删除你的Python环境
  • 创建一个新的
  • 安装pip install beautifulsoup4pip install google
  • 现在使用您的代码,它将像魅力一样工作。
  • 永远不要安装pip install googlesearch-pythonpython 包