From ca271fd8617db722015f629832ed44a845ab73ed Mon Sep 17 00:00:00 2001 From: asciimoo Date: Wed, 29 Jan 2014 21:14:38 +0100 Subject: [PATCH] [enh] bing, google paging support --- searx/engines/bing.py | 8 ++++++-- searx/engines/google.py | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/searx/engines/bing.py b/searx/engines/bing.py index c4b94563..ec8a0c44 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -3,13 +3,17 @@ from urllib import urlencode from cgi import escape base_url = 'http://www.bing.com/' -search_string = 'search?{query}' +search_string = 'search?{query}&first={offset}' locale = 'en-US' # see http://msdn.microsoft.com/en-us/library/dd251064.aspx +paging = True + def request(query, params): + offset = (params['pageno'] - 1) * 10 + 1 search_path = search_string.format( - query=urlencode({'q': query, 'setmkt': locale})) + query=urlencode({'q': query, 'setmkt': locale}), + offset=offset) #if params['category'] == 'images': # params['url'] = base_url + 'images/' + search_path params['url'] = base_url + search_path diff --git a/searx/engines/google.py b/searx/engines/google.py index c9253c9b..b90c7adc 100644 --- a/searx/engines/google.py +++ b/searx/engines/google.py @@ -5,12 +5,16 @@ from json import loads categories = ['general'] +paging = True + url = 'https://ajax.googleapis.com/' -search_url = url + 'ajax/services/search/web?v=1.0&start=0&rsz=large&safe=off&filter=off&{query}' # noqa +search_url = url + 'ajax/services/search/web?v=1.0&start={offset}&rsz=large&safe=off&filter=off&{query}' # noqa def request(query, params): - params['url'] = search_url.format(query=urlencode({'q': query})) + offset = (params['pageno'] - 1) * 8 + params['url'] = search_url.format(offset=offset, + query=urlencode({'q': query})) return params