我在這個(gè)答案中使用了完全相同的代碼,但它沒有成功。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)結(jié)果顯示關(guān)鍵錯(cuò)誤:“項(xiàng)目”然后我試圖刪除密鑰,看看結(jié)果是什么。似乎沒有任何名為“項(xiàng)目”的鍵所以問題是:如何調(diào)整代碼并獲得排名前20位的Google搜索結(jié)果中的鏈接列表?
2 回答

MM們
TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
當(dāng)查詢沒有結(jié)果時(shí),會(huì)發(fā)生這種情況。要是有結(jié)果就算了,它就屬于res[“項(xiàng)目”]。由于您沒有結(jié)果,因此不會(huì)生成項(xiàng)目鍵。
您創(chuàng)建的自定義搜索引擎可能只有極少數(shù) URL 可以訪問。因此,結(jié)果可能是空的。
確保位于安裝程序 -> 基本(選項(xiàng)卡)->要搜索的網(wǎng)站(部分)的搜索引擎應(yīng)用中的“自定義搜索”配置已設(shè)置為“搜索整個(gè) Web 但強(qiáng)調(diào)包括網(wǎng)站”。
同樣對(duì)于代碼,不是直接返回res[“items],而是檢查res[”items“]是否存在,否則返回 None。然后不會(huì)發(fā)生密鑰錯(cuò)誤異常。
if "items" in res.keys():
return res["items"]
else:
return None
添加回答
舉報(bào)
0/150
提交
取消