From 16ff8d06c73d3e0ec784e8c9a1fb38b36a95d8fb Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 7 Nov 2016 22:30:20 +0100 Subject: [fix] bing paging and language support see https://msdn.microsoft.com/en-us/library/ff795620.aspx for bing specific search operators closes #755 --- searx/engines/bing.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 6bdfd378b..b9c5f73fc 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -32,18 +32,13 @@ search_string = 'search?{query}&first={offset}' def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 - if params['language'] == 'all': - language = 'en-US' - else: - language = params['language'].replace('_', '-') + if params['language'] != 'all': + query = 'language:{} {}'.format(params['language'].split('_')[0].upper(), query) search_path = search_string.format( - query=urlencode({'q': query, 'setmkt': language}), + query=urlencode({'q': query}), offset=offset) - params['cookies']['SRCHHPGUSR'] = \ - 'NEWWND=0&NRSLT=-1&SRCHLANG=' + language.split('-')[0] - params['url'] = base_url + search_path return params -- cgit v1.2.3 From 17b08d096c5d7823799cdd6eab7fe67ef9941f9f Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 7 Nov 2016 22:33:17 +0100 Subject: [fix] unicode search expression for bing --- searx/engines/bing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index b9c5f73fc..75814a595 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -33,7 +33,7 @@ def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 if params['language'] != 'all': - query = 'language:{} {}'.format(params['language'].split('_')[0].upper(), query) + query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query) search_path = search_string.format( query=urlencode({'q': query}), -- cgit v1.2.3 From 1176505fa4d58677ca05e7a1c27ee459d86275aa Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 14 Nov 2016 15:47:42 +0100 Subject: [fix] bing character encoding - closes #760 --- searx/engines/bing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 75814a595..768cbdeb5 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -33,10 +33,10 @@ def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 if params['language'] != 'all': - query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query) + query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query.decode('utf-8')) search_path = search_string.format( - query=urlencode({'q': query}), + query=urlencode({'q': query.encode('utf-8')}), offset=offset) params['url'] = base_url + search_path -- cgit v1.2.3 From 16f2e346b3b5507034f6207e5d829cceaa99c046 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 14 Nov 2016 15:52:29 +0100 Subject: [fix] bing unicode issue part III. --- searx/engines/bing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 768cbdeb5..24cefaffa 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -33,10 +33,10 @@ def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 if params['language'] != 'all': - query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query.decode('utf-8')) + query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query.decode('utf-8')).encode('utf-8') search_path = search_string.format( - query=urlencode({'q': query.encode('utf-8')}), + query=urlencode({'q': query}), offset=offset) params['url'] = base_url + search_path -- cgit v1.2.3 From 43ddbc60da114e3c764e6f7fa344e686964b66c2 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Mon, 14 Nov 2016 16:09:16 +0100 Subject: [fix] pep8 --- searx/engines/bing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 24cefaffa..540597162 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -33,7 +33,8 @@ def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 if params['language'] != 'all': - query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), query.decode('utf-8')).encode('utf-8') + query = u'language:{} {}'.format(params['language'].split('_')[0].upper(), + query.decode('utf-8')).encode('utf-8') search_path = search_string.format( query=urlencode({'q': query}), -- cgit v1.2.3 From 16bdc0baf4f2b56af000337c4a2fa1e689f1220c Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Fri, 9 Dec 2016 11:44:24 +0100 Subject: [mod] do not escape html content in engines --- searx/engines/bing.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'searx/engines/bing.py') diff --git a/searx/engines/bing.py b/searx/engines/bing.py index 540597162..58db61251 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -14,7 +14,6 @@ """ from urllib import urlencode -from cgi import escape from lxml import html from searx.engines.xpath import extract_text @@ -61,7 +60,7 @@ def response(resp): link = result.xpath('.//h3/a')[0] url = link.attrib.get('href') title = extract_text(link) - content = escape(extract_text(result.xpath('.//p'))) + content = extract_text(result.xpath('.//p')) # append result results.append({'url': url, @@ -73,7 +72,7 @@ def response(resp): link = result.xpath('.//h2/a')[0] url = link.attrib.get('href') title = extract_text(link) - content = escape(extract_text(result.xpath('.//p'))) + content = extract_text(result.xpath('.//p')) # append result results.append({'url': url, -- cgit v1.2.3