【问题标题】:Google Search API - Only returning 4 resultsGoogle Search API - 仅返回 4 个结果
【发布时间】:2011-05-29 05:11:30
【问题描述】:

经过大量试验和谷歌搜索,以下 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']

【问题讨论】:

    标签: python google-search google-search-api


    【解决方案1】:

    开始选项不会为您提供更多结果,它只会让您前进那么多结果。将结果想象成一个队列。从 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']
    

    【讨论】:

    • 不知何故,search_results 总是空的。这是为什么?
    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多