summaryrefslogtreecommitdiff
path: root/searx/engines/unsplash.py
diff options
context:
space:
mode:
authorDenis Wernert <deniswernert@gmail.com>2018-10-02 15:08:43 +0200
committerDenis Wernert <deniswernert@gmail.com>2018-10-08 09:18:42 +0200
commitcd7849ffc82dc319e25ed80cae03dc021e5c7263 (patch)
tree9c126fd6f017022011605f02bd431e9661df417d /searx/engines/unsplash.py
parentbc7c8a3973a8614dfb14d97b853c9a46ddcabab1 (diff)
downloadsearxng-cd7849ffc82dc319e25ed80cae03dc021e5c7263.tar.gz
searxng-cd7849ffc82dc319e25ed80cae03dc021e5c7263.zip
Adds the Unsplash image engine
Diffstat (limited to 'searx/engines/unsplash.py')
-rw-r--r--searx/engines/unsplash.py39
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