duckduckgo_definitions.py 701 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. }
  17. results.append(res)
  18. return results