谷歌搜索API - 仅返回4个结果

3

经过多次尝试和搜索,以下Python代码成功调用了Google的搜索API,但只返回4个结果:在阅读Google搜索API文档后,我认为“start =”将返回更多结果:但实际上并没有发生这种情况。

有人能给出指针吗?谢谢。

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

“start”选项并不能提供更多的结果,它只是将你向前移动那么多个结果。可以把结果想象成一个队列。从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']

1
为什么“search_results”总是为空? - doniyor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接