Browse Source

[feat] add Quark autocomplete support

Co-authored-by: Bnyro <bnyro@tutanota.com>
Zhijie He 1 month ago
parent
commit
08885d0614
3 changed files with 17 additions and 1 deletions
  1. 1 0
      docs/admin/settings/settings_search.rst
  2. 15 0
      searx/autocomplete.py
  3. 1 1
      searx/settings.yml

+ 1 - 0
docs/admin/settings/settings_search.rst

@@ -41,6 +41,7 @@
   - ``duckduckgo``
   - ``google``
   - ``mwmbl``
+  - ``quark``
   - ``qwant``
   - ``seznam``
   - ``sogou``

+ 15 - 0
searx/autocomplete.py

@@ -164,6 +164,20 @@ def qihu360search(query, _lang):
     return results
 
 
+def quark(query, _lang):
+    # Quark search autocompleter
+    url = f"https://sugs.m.sm.cn/web?{urlencode({'q': query})}"
+    response = get(url)
+
+    results = []
+
+    if response.ok:
+        data = response.json()
+        for item in data.get('r', []):
+            results.append(item['w'])
+    return results
+
+
 def seznam(query, _lang):
     # seznam search autocompleter
     url = 'https://suggest.seznam.cz/fulltext/cs?{query}'
@@ -286,6 +300,7 @@ backends = {
     'duckduckgo': duckduckgo,
     'google': google_complete,
     'mwmbl': mwmbl,
+    'quark': quark,
     'qwant': qwant,
     'seznam': seznam,
     'sogou': sogou,

+ 1 - 1
searx/settings.yml

@@ -34,7 +34,7 @@ search:
   # Filter results. 0: None, 1: Moderate, 2: Strict
   safe_search: 0
   # Existing autocomplete backends: "360search", "baidu", "brave", "dbpedia", "duckduckgo", "google", "yandex",
-  # "mwmbl", "seznam", "sogou", "stract", "swisscows", "qwant", "wikipedia" -
+  # "mwmbl", "seznam", "sogou", "stract", "swisscows", "quark", "qwant", "wikipedia" -
   # leave blank to turn it off by default.
   autocomplete: ""
   # minimun characters to type before autocompleter starts