searxng/searx/engines/duckduckgo_definitions.py

24 lines
670 B
Python
Raw Normal View History

2013-10-14 21:54:33 +00:00
import json
2013-10-23 21:55:37 +00:00
from urllib import urlencode
url = 'http://api.duckduckgo.com/?{query}&format=json&pretty=0&no_redirect=1'
2013-10-14 21:54:33 +00:00
2014-01-20 01:31:20 +00:00
2013-10-14 21:54:33 +00:00
def request(query, params):
2014-01-20 01:31:20 +00:00
params['url'] = url.format(query=urlencode({'q': query}))
2013-10-14 21:54:33 +00:00
return params
def response(resp):
search_res = json.loads(resp.text)
results = []
if 'Definition' in search_res:
2013-10-15 17:11:43 +00:00
if search_res.get('AbstractURL'):
2014-01-20 01:31:20 +00:00
res = {'title': search_res.get('Heading', ''),
'content': search_res.get('Definition', ''),
'url': search_res.get('AbstractURL', ''),
'class': 'definition_result'}
2013-10-15 17:11:43 +00:00
results.append(res)
2013-10-14 21:54:33 +00:00
return results