mirror of https://github.com/searx/searx
Adds the Unsplash image engine
This commit is contained in:
parent
bc7c8a3973
commit
cd7849ffc8
|
@ -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
|
|
@ -642,6 +642,11 @@ engines:
|
||||||
# content_xpath : //*[@class="meaning"]
|
# content_xpath : //*[@class="meaning"]
|
||||||
# shortcut : ud
|
# shortcut : ud
|
||||||
|
|
||||||
|
- name : unsplash
|
||||||
|
engine : unsplash
|
||||||
|
disabled: True
|
||||||
|
shortcut : us
|
||||||
|
|
||||||
- name : yahoo
|
- name : yahoo
|
||||||
engine : yahoo
|
engine : yahoo
|
||||||
shortcut : yh
|
shortcut : yh
|
||||||
|
|
Loading…
Reference in New Issue