From aa41c2b8acfc557fefd472e93cb0c5ebee1e4a07 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 25 Oct 2013 01:37:48 +0200 Subject: [PATCH] [enh] bing updates ++ language support --- searx/engines/bing.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/searx/engines/bing.py b/searx/engines/bing.py index ee8fd59a4..33d1854e7 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -4,12 +4,15 @@ from cgi import escape base_url = 'http://www.bing.com/' search_string = 'search?{query}' +language = 'en-us' # see http://msdn.microsoft.com/en-us/library/dd251064.aspx + def request(query, params): - search_path = search_string.format(query=urlencode({'q': query})) + search_path = search_string.format(query=urlencode({'q': query, 'setmkt': language})) #if params['category'] == 'images': # params['url'] = base_url + 'images/' + search_path params['url'] = base_url + search_path + print params['url'] return params @@ -23,4 +26,14 @@ def response(resp): title = ' '.join(link.xpath('.//text()')) content = escape(' '.join(result.xpath('.//p//text()'))) results.append({'url': url, 'title': title, 'content': content}) + + if results: + return results + + for result in dom.xpath('//li[@class="b_algo"]'): + link = result.xpath('.//h2/a')[0] + url = link.attrib.get('href') + title = ' '.join(link.xpath('.//text()')) + content = escape(' '.join(result.xpath('.//p//text()'))) + results.append({'url': url, 'title': title, 'content': content}) return results