summaryrefslogtreecommitdiff
path: root/searx/autocomplete.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/autocomplete.py')
-rw-r--r--searx/autocomplete.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/searx/autocomplete.py b/searx/autocomplete.py
index 1726a8c3d..183769af8 100644
--- a/searx/autocomplete.py
+++ b/searx/autocomplete.py
@@ -1,3 +1,21 @@
+'''
+searx is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+searx is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with searx. If not, see < http://www.gnu.org/licenses/ >.
+
+(C) 2013- by Adam Tauber, <asciimoo@gmail.com>
+'''
+
+
from lxml import etree
from requests import get
from json import loads
@@ -21,6 +39,16 @@ def dbpedia(query):
return results
+def duckduckgo(query):
+ # duckduckgo autocompleter
+ url = 'https://ac.duckduckgo.com/ac/?{0}&type=list'
+
+ resp = loads(get(url.format(urlencode(dict(q=query)))).text)
+ if len(resp) > 1:
+ return resp[1]
+ return []
+
+
def google(query):
# google autocompleter
autocomplete_url = 'http://suggestqueries.google.com/complete/search?client=toolbar&' # noqa
@@ -48,6 +76,7 @@ def wikipedia(query):
backends = {'dbpedia': dbpedia,
+ 'duckduckgo': duckduckgo,
'google': google,
'wikipedia': wikipedia
}