duckduckgo_definitions.py 670 B

1234567891011121314151617181920212223
  1. import json
  2. from urllib import urlencode
  3. url = 'http://api.duckduckgo.com/?{query}&format=json&pretty=0&no_redirect=1'
  4. def request(query, params):
  5. params['url'] = url.format(query=urlencode({'q': query}))
  6. return params
  7. def response(resp):
  8. search_res = json.loads(resp.text)
  9. results = []
  10. if 'Definition' in search_res:
  11. if search_res.get('AbstractURL'):
  12. res = {'title': search_res.get('Heading', ''),
  13. 'content': search_res.get('Definition', ''),
  14. 'url': search_res.get('AbstractURL', ''),
  15. 'class': 'definition_result'}
  16. results.append(res)
  17. return results