From e7de9674b14c2ff06fac009274742819d6468138 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 8 Feb 2015 21:53:37 +0100 Subject: [enh] add safesearch functionality 2 = strict 1 = moderate 0 = none --- searx/engines/bing_images.py | 8 +++++++- searx/engines/blekko_images.py | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'searx/engines') diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py index 9d1c22f5a..4798d9f30 100644 --- a/searx/engines/bing_images.py +++ b/searx/engines/bing_images.py @@ -21,12 +21,17 @@ import re # engine dependent config categories = ['images'] paging = True +safesearch = True # search-url base_url = 'https://www.bing.com/' search_string = 'images/search?{query}&count=10&first={offset}' thumb_url = "http://ts1.mm.bing.net/th?id={ihk}" +# safesearch definitions +safesearch_types = {2: 'STRICT', + 1: 'DEMOTE', + 0: 'OFF'} # do search-request def request(query, params): @@ -43,7 +48,8 @@ def request(query, params): offset=offset) params['cookies']['SRCHHPGUSR'] = \ - 'NEWWND=0&NRSLT=-1&SRCHLANG=' + language.split('-')[0] + 'NEWWND=0&NRSLT=-1&SRCHLANG=' + language.split('-')[0] +\ + '&ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE') params['url'] = base_url + search_path diff --git a/searx/engines/blekko_images.py b/searx/engines/blekko_images.py index 2bae9c35e..4fbb9b30f 100644 --- a/searx/engines/blekko_images.py +++ b/searx/engines/blekko_images.py @@ -14,11 +14,16 @@ from urllib import urlencode # engine dependent config categories = ['images'] paging = True +safesearch = True # search-url base_url = 'https://blekko.com' search_url = '/api/images?{query}&c={c}' +# safesearch definitions +safesearch_types = {2: '1', + 1: '', + 0: '0'} # do search-request def request(query, params): @@ -31,6 +36,12 @@ def request(query, params): if params['pageno'] != 1: params['url'] += '&page={pageno}'.format(pageno=(params['pageno']-1)) + # let Blekko know we wan't have profiling + params['cookies']['tag_lesslogging'] = '1' + + # parse safesearch argument + params['cookies']['safesearch'] = safesearch_types.get(params['safesearch'], '') + return params -- cgit v1.2.3 From 832ea60e3d19add2ffa857bc420ff33af83aac5c Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 8 Feb 2015 22:01:24 +0100 Subject: [fix] pep8, tests --- searx/engines/bing_images.py | 1 + searx/engines/blekko_images.py | 1 + 2 files changed, 2 insertions(+) (limited to 'searx/engines') diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py index 4798d9f30..b8c61c151 100644 --- a/searx/engines/bing_images.py +++ b/searx/engines/bing_images.py @@ -33,6 +33,7 @@ safesearch_types = {2: 'STRICT', 1: 'DEMOTE', 0: 'OFF'} + # do search-request def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 diff --git a/searx/engines/blekko_images.py b/searx/engines/blekko_images.py index 4fbb9b30f..2e7ec904f 100644 --- a/searx/engines/blekko_images.py +++ b/searx/engines/blekko_images.py @@ -25,6 +25,7 @@ safesearch_types = {2: '1', 1: '', 0: '0'} + # do search-request def request(query, params): c = (params['pageno'] - 1) * 48 -- cgit v1.2.3 From 10666fd7c03ac3e9ba6507d36f04181fb90ae466 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 8 Feb 2015 22:15:25 +0100 Subject: [enh] add safesearch to google_images --- searx/engines/google_images.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'searx/engines') diff --git a/searx/engines/google_images.py b/searx/engines/google_images.py index 092ae6639..31ad7e080 100644 --- a/searx/engines/google_images.py +++ b/searx/engines/google_images.py @@ -15,18 +15,25 @@ from json import loads # engine dependent config categories = ['images'] paging = True +safesearch = True # search-url url = 'https://ajax.googleapis.com/' -search_url = url + 'ajax/services/search/images?v=1.0&start={offset}&rsz=large&safe=off&filter=off&{query}' +search_url = url + 'ajax/services/search/images?v=1.0&start={offset}&rsz=large&safe={safesearch}&filter=off&{query}' # do search-request def request(query, params): offset = (params['pageno'] - 1) * 8 + if params['safesearch'] == 2: + safesearch = 'on' + else: + safesearch = 'off' + params['url'] = search_url.format(query=urlencode({'q': query}), - offset=offset) + offset=offset, + safesearch=safesearch) return params -- cgit v1.2.3 From 7ac6361b51199ce8b208dcd6e8ba62ec4f652186 Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 8 Feb 2015 22:29:26 +0100 Subject: [enh] set google safesearch filter more restictive --- searx/engines/google_images.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'searx/engines') diff --git a/searx/engines/google_images.py b/searx/engines/google_images.py index 31ad7e080..1c0e62f5c 100644 --- a/searx/engines/google_images.py +++ b/searx/engines/google_images.py @@ -26,10 +26,10 @@ search_url = url + 'ajax/services/search/images?v=1.0&start={offset}&rsz=large&s def request(query, params): offset = (params['pageno'] - 1) * 8 - if params['safesearch'] == 2: - safesearch = 'on' - else: + if params['safesearch'] == 0: safesearch = 'off' + else: + safesearch = 'on' params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset, -- cgit v1.2.3