Python GoogleSearch module error : "TypeError: search() got an unexpected keyword argument 'tld' "

Python GoogleSearch module error : "TypeError: search() got an unexpected keyword argument 'tld' "

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

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

错误:

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

它来自 google python 包。它仍然适用于所有版本。

版本参数:

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

这是你真正的问题:

还有一个 python 模块名称为 googlesearch

的包

Link here

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

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

  • 删除您的 Python 环境
  • 新建一个
  • 安装 pip install beautifulsoup4pip install google
  • 现在使用你的代码,它会像魅力一样工作。
  • 从不安装 pip install googlesearch-python python 软件包

需要安装 google 库,安装此库时停止产生错误:

pip install google