谷歌搜索API - 仅返回4个结果
经过很多实验和在网上查资料,下面这段Python代码成功调用了谷歌的搜索API,但只返回了4个结果。我在阅读谷歌搜索API的文档时,以为'开始='这个参数可以返回更多的结果,但实际上并没有发生。
有没有人能给点建议?谢谢。
Python代码:
/usr/bin/python
import urllib
import simplejson
query = urllib.urlencode({'q' : 'site:example.com'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s&start=50' \
% (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
print i['title'] + ": " + i['url']
1 个回答
2
开始选项并不是让你看到更多的结果,它只是让你从某个位置开始往后看。可以把结果想象成一个排队的人。比如说,从第50个结果开始,你会看到第50、51、52和53个结果。
这样的话,你可以通过每隔4个结果开始来获取更多的结果:
import urllib
import simplejson
num_queries = 50*4
query = urllib.urlencode({'q' : 'example'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query
for start in range(0, num_queries, 4):
request_url = '{0}&start={1}'.format(url, start)
search_results = urllib.urlopen(request_url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
print i['title'] + ": " + i['url']