如何增加谷歌搜索中的页面数量?

时间:2010-09-02 10:05:50

标签: python google-api

我正在使用google search api 但默认情况下,每页显示4个和最多8个结果。我想要每页更多的结果。

1 个答案:

答案 0 :(得分:0)

rsz=8参数添加到此google search demonstration code, 然后使用start=...参数来控制您收到的结果组。

例如,这会给你50个结果:

import urllib
import json
import sys
import itertools

def hits(astr):
    for start in itertools.count():
        query = urllib.urlencode({'q':astr, 'rsz': 8, 'start': start*8})
        url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s'%(query)
        search_results = urllib.urlopen(url)
        results = json.loads(search_results.read())
        data = results['responseData']
        if data:
            hits = data['results']
            for h in hits:
                yield h['url']
        else:
            raise StopIteration


def showmore(astr,num):
    for i,h in enumerate(itertools.islice(hits(astr),num)):
        print('{i}: {h}'.format(i=i,h=h))

if __name__=='__main__':
    showmore(sys.argv[1],50)