返回googleajax中的前三名结果

2024-06-28 20:40:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够通过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的方法。你知道吗


Tags: 方法代码resturlsearch链接defgoogle
1条回答
网友
1楼 · 发布于 2024-06-28 20:40:07

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

更改:

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

收件人:

rest = [result['unescapedUrl'] for result in results]

或:

urls = []
for result in results:
   urls.append(result['unescapedUrl'])
return urls

相关问题 更多 >