@@ -10,7 +10,7 @@
1010 @parse url, title, img_src, thumbnail_src
1111"""
1212
13−from searx.url_utils import urlencode
13+from searx.url_utils import urlencode, urlparse, urlunparse, parse_qsl
1414from json import loads
1515
1616url = 'https://unsplash.com/'
@@ -20,6 +20,18 @@ page_size = 20
2020paging = True
2121
2222
23+def clean_url(url):
24+ parsed = urlparse(url)
25+ query = [(k, v) for (k, v) in parse_qsl(parsed.query) if k not in ['ixid', 's']]
26+
27+ return urlunparse((parsed.scheme,
28+ parsed.netloc,
29+ parsed.path,
30+ parsed.params,
31+ urlencode(query),
32+ parsed.fragment))
33+
34+
2335def request(query, params):
2436 params['url'] = search_url + urlencode({'query': query, 'page': params['pageno'], 'per_page': page_size})
2537 return params
@@ -32,9 +44,9 @@ def response(resp):
3244 if 'results' in json_data:
3345 for result in json_data['results']:
3446 results.append({'template': 'images.html',
35− 'url': result['links']['html'],
36− 'thumbnail_src': result['urls']['thumb'],
37− 'img_src': result['urls']['raw'],
47+ 'url': clean_url(result['links']['html']),
48+ 'thumbnail_src': clean_url(result['urls']['thumb']),
49+ 'img_src': clean_url(result['urls']['raw']),
3850 'title': result['description'],
3951 'content': ''})
4052 return results