Browse Source

[enh] autocompletion : add qwant

Alexandre Flament 9 years ago
parent
commit
6ab91515df
1 changed files with 18 additions and 0 deletions
  1. 18 0
      searx/autocomplete.py

+ 18 - 0
searx/autocomplete.py

@@ -161,6 +161,23 @@ def startpage(query):
     return []
     return []
 
 
 
 
+def qwant(query):
+    # qwant autocompleter (additional parameter : lang=en_en&count=xxx )
+    url = 'https://api.qwant.com/api/suggest?{query}'
+
+    resp = get(url.format(query=urlencode({'q': query})))
+
+    results = []
+
+    if resp.ok:
+        data = loads(resp.text)
+        if data['status'] == 'success':
+            for item in data['data']['items']:
+                results.append(item['value'])
+
+    return results
+
+
 def wikipedia(query):
 def wikipedia(query):
     # wikipedia autocompleter
     # wikipedia autocompleter
     url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'
     url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'
@@ -175,5 +192,6 @@ backends = {'dbpedia': dbpedia,
             'duckduckgo': duckduckgo,
             'duckduckgo': duckduckgo,
             'google': google,
             'google': google,
             'startpage': startpage,
             'startpage': startpage,
+            'qwant': qwant,
             'wikipedia': wikipedia
             'wikipedia': wikipedia
             }
             }