我可以通过google ajax网址使用此代码从网页获取第一个链接。
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
我希望能够以有效的方式以相同的方式获得前三或四个链接。如果我使用三个不同的页面进行三次不同的搜索,我可以返回前三个链接,但是效率相当低。再说一遍,我使用的是python 3.3,我希望能够返回前三个结果。使用我的方法而非xgoogle。
答案 0 :(得分:1)
您只返回响应中的最后一个结果:
变化:
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