如何增加谷歌搜索的页面数?
我正在使用谷歌搜索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)