谷歌自定义搜索API返回结果与google.com不同

4 投票
4 回答
2141 浏览
提问于 2025-04-18 05:03

我正在通过Python使用谷歌的API,结果是可以的,但我从API得到的结果和在google.com上看到的完全不一样。我发现自定义搜索给出的最上面的结果是谷歌日历、谷歌地球和专利。我想知道有没有办法通过自定义搜索API获得和谷歌网站上相同的结果。谢谢!

def googleAPICall(self,userInput):  
        try:  
            userInput = urllib.quote(userInput)        
            for i in range(0,1):
                index = i*10+1 
                url = ('https://www.googleapis.com/customsearch/v1?'    
                       'key=%s'
                       '&cx=%s'
                       '&alt=json'
                       '&num=10'
                       '&start=%d'
                       '&q=%s')%(self.KEY,self.CX,index,userInput)   
                print (url)

                request = urllib2.Request(url)
                response = urllib2.urlopen(request)
            returnResults = simplejson.load(response)
            webs = returnResults['items'] 

            for web in webs:
                self.result.append(web["link"])
    except:
        print ("search error")
        self.result.append("http://en.wikipedia.org/wiki/Climate_change")

    return self.result

4 个回答

0

我觉得你需要试着调整四个参数:cr、gl、hl和lr。

0

补充一下galaxyan的回答,你可以通过把 搜索的网站仅搜索包含的网站 改成 搜索整个网络 来实现这个功能。

在这里输入图片描述

0

经过一些搜索,答案是“无法得到和google.com一样的结果”。

谷歌明确表示了这一点:https://support.google.com/customsearch/answer/141877?hl=en

希望这就是最终的答案。

3

在仪表盘里有一个“在谷歌外搜索”的复选框。你勾选这个框后,得到的结果和不勾选是一样的。我花了一段时间才发现这一点。默认情况下,它只会返回谷歌网站内部的搜索结果。

撰写回答