diff options
author | Thomas Pointhuber <thomas.pointhuber@gmx.at> | 2015-02-08 14:49:46 +0100 |
---|---|---|
committer | Thomas Pointhuber <thomas.pointhuber@gmx.at> | 2015-02-08 14:49:46 +0100 |
commit | dd4686a3886458f600427aba0ed7b9666b3644db (patch) | |
tree | 8bd6d19dc101dda652525623627af2a8a5c86205 /searx/engines/blekko_images.py | |
parent | 04f7118d0a0693906ef57fa83f01d29eb366a45e (diff) | |
download | searxng-dd4686a3886458f600427aba0ed7b9666b3644db.tar.gz searxng-dd4686a3886458f600427aba0ed7b9666b3644db.zip |
[enh] add blekko_images engine
Diffstat (limited to 'searx/engines/blekko_images.py')
-rw-r--r-- | searx/engines/blekko_images.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/searx/engines/blekko_images.py b/searx/engines/blekko_images.py new file mode 100644 index 000000000..2bae9c35e --- /dev/null +++ b/searx/engines/blekko_images.py @@ -0,0 +1,56 @@ +## Blekko (Images) +# +# @website https://blekko.com +# @provide-api yes (inofficial) +# +# @using-api yes +# @results JSON +# @stable yes +# @parse url, title, img_src + +from json import loads +from urllib import urlencode + +# engine dependent config +categories = ['images'] +paging = True + +# search-url +base_url = 'https://blekko.com' +search_url = '/api/images?{query}&c={c}' + + +# do search-request +def request(query, params): + c = (params['pageno'] - 1) * 48 + + params['url'] = base_url +\ + search_url.format(query=urlencode({'q': query}), + c=c) + + if params['pageno'] != 1: + params['url'] += '&page={pageno}'.format(pageno=(params['pageno']-1)) + + return params + + +# get response from search-request +def response(resp): + results = [] + + search_results = loads(resp.text) + + # return empty array if there are no results + if not search_results: + return [] + + for result in search_results: + # append result + results.append({'url': result['page_url'], + 'title': result['title'], + 'content': '', + 'img_src': result['url'], + 'template': 'images.html'}) + + # return results + return results |