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

1 投票
1 回答
906 浏览
提问于 2025-04-16 03:37

我正在使用谷歌搜索API,但是默认情况下每页只显示4条,最多8条结果。我想要每页显示更多的结果。

1 个回答

0

在这个谷歌搜索示例代码中,添加一个叫做 rsz=8 的参数,然后使用 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)

撰写回答