diff options
author | Denis Wernert <deniswernert@gmail.com> | 2018-10-02 15:08:43 +0200 |
---|---|---|
committer | Denis Wernert <deniswernert@gmail.com> | 2018-10-08 09:18:42 +0200 |
commit | cd7849ffc82dc319e25ed80cae03dc021e5c7263 (patch) | |
tree | 9c126fd6f017022011605f02bd431e9661df417d /searx/engines/unsplash.py | |
parent | bc7c8a3973a8614dfb14d97b853c9a46ddcabab1 (diff) | |
download | searxng-cd7849ffc82dc319e25ed80cae03dc021e5c7263.tar.gz searxng-cd7849ffc82dc319e25ed80cae03dc021e5c7263.zip |
Adds the Unsplash image engine
Diffstat (limited to 'searx/engines/unsplash.py')
-rw-r--r-- | searx/engines/unsplash.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/searx/engines/unsplash.py b/searx/engines/unsplash.py new file mode 100644 index 000000000..03db97788 --- /dev/null +++ b/searx/engines/unsplash.py @@ -0,0 +1,39 @@ +""" + Unsplash + + @website https://unsplash.com + @provide-api yes (https://unsplash.com/developers) + + @using-api no + @results JSON (using search portal's infiniscroll API) + @stable no (JSON format could change any time) + @parse url, title, img_src, thumbnail_src +""" + +from searx.url_utils import urlencode +from json import loads + +url = 'https://unsplash.com/' +search_url = url + 'napi/search/photos?' +categories = ['images'] +page_size = 20 +paging = True + + +def request(query, params): + params['url'] = search_url + urlencode({'query': query, 'page': params['pageno'], 'per_page': page_size}) + return params + + +def response(resp): + results = [] + json_data = loads(resp.text) + + for result in json_data['results']: + results.append({'template': 'images.html', + 'url': result['links']['html'], + 'thumbnail_src': result['urls']['thumb'], + 'img_src': result['urls']['full'], + 'title': result['description'], + 'content': ''}) + return results |