为了账号安全,请及时绑定邮箱和手机立即绑定

使用API在python中执行谷歌搜索,使用密钥错误返回

使用API在python中执行谷歌搜索,使用密钥错误返回

GCT1015 2022-09-20 17:35:45
我在这个答案中使用了完全相同的代码,但它没有成功。from googleapiclient.discovery import buildimport pprintmy_api_key = "Google API key"my_cse_id = "Custom Search Engine ID"def google_search(search_term, api_key, cse_id, **kwargs):    service = build("customsearch", "v1", developerKey=api_key)    res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()    return res['items']results = google_search(    'stackoverflow site:en.wikipedia.org', my_api_key, my_cse_id, num=10)for result in results:    pprint.pprint(result)结果显示关键错误:“项目”然后我试图删除密钥,看看结果是什么。似乎没有任何名为“项目”的键所以问题是:如何调整代码并获得排名前20位的Google搜索结果中的链接列表?
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

当查询没有结果时,会发生这种情况。要是有结果就算了,它就属于res[“项目”]。由于您没有结果,因此不会生成项目键。


您创建的自定义搜索引擎可能只有极少数 URL 可以访问。因此,结果可能是空的。


确保位于安装程序 -> 基本(选项卡)->要搜索的网站(部分)的搜索引擎应用中的“自定义搜索”配置已设置为“搜索整个 Web 但强调包括网站”。


同样对于代码,不是直接返回res[“items],而是检查res[”items“]是否存在,否则返回 None。然后不会发生密钥错误异常。


if "items" in res.keys(): 

    return res["items"] 

else: 

    return None


查看完整回答
反对 回复 2022-09-20
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

只需更换您的退货:

return res.get('items', None)


查看完整回答
反对 回复 2022-09-20
  • 2 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信