Python 返回google ajax中排名前三的结果

Python 返回google ajax中排名前三的结果,python,ajax,json,Python,Ajax,Json,我能够通过GoogleAJAXURL使用此代码从页面获取第一个链接 def google(x): search = x.split() search = '%20'.join(map(str, search)) url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&start=1&q=%s&safe=off' % search search_results = ur

我能够通过GoogleAJAXURL使用此代码从页面获取第一个链接

def google(x):
    search = x.split()
    search = '%20'.join(map(str, search))
    url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&start=1&q=%s&safe=off' % search
    search_results = urlreq.urlopen(url)
    js = json.loads(search_results.read().decode())
    results = js['responseData']['results']
    for i in results: rest = i['unescapedUrl']
    return rest

我希望能够做到的是,以同样的方式以有效的方式获得前三或前四个链接。如果我使用三个不同的页面进行三次不同的搜索,我可以返回前三个链接,但是,这是相当低效的。再说一遍,我使用的是Python3.3,我希望能够返回前三个结果。使用我的方法,而不是xgoogle的方法。

您只返回响应中的最后一个结果:

更改:

for i in results: rest = i['unescapedUrl']
致:

或:


我的意思是说效率低下您可以这样做:
search='%20'。加入(x.split())
search=urllib.parse.quote(x)
rest=[result['unescapedur']以获得结果]这很有效,谢谢您的欢迎。如果您感到满意,则应标记所回答的问题。:)
rest = [result['unescapedUrl'] for result in results]
urls = []
for result in results:
   urls.append(result['unescapedUrl'])
return urls