commit: e91e4e7fdbbdef49b19011ff8d7efa34fa55be3b
parent: 157dcaab620758ae3c0e12dccad786d5edc51560
Author: asciimoo <asciimoo@gmail.com>
Date: Mon, 14 Oct 2013 23:54:33 +0200
[enh] duckduckgo definitions
Diffstat:
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py
@@ -0,0 +1,32 @@
+import json
+from searx import base_result_template
+
+def request(query, params):
+ params['url'] = 'http://api.duckduckgo.com/?q=%s&format=json&pretty=0' % query
+ return params
+
+
+def response(resp):
+ search_res = json.loads(resp.text)
+ results = []
+ if 'Definition' in search_res:
+ res = {'title' : search_res.get('Heading', '')
+ ,'content' : search_res.get('Definition', '')
+ ,'url' : search_res.get('AbstractURL', '')
+ }
+ results.append(base_result_template.format(**res))
+
+ return results
+
+#from lxml import html
+#def request(query, params):
+# params['method'] = 'POST'
+# params['url'] = 'https://duckduckgo.com/html'
+# params['data']['q'] = query
+# return params
+#
+#
+#def response(resp):
+# dom = html.fromstring(resp.text)
+# results = dom.xpath('//div[@class="results_links results_links_deep web-result"]')
+# return [html.tostring(x) for x in results]