summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhijie He <hezhijie0327@hotmail.com>2025-03-30 23:13:40 +0800
committerBnyro <bnyro@tutanota.com>2025-03-31 14:59:49 +0200
commit08885d0614f0b131a03f65af8bb4a601651dbacf (patch)
tree8ce6fa0ee85a468f99aa3f0c8b019cfc512b7c8d
parent7b4612e86250389dc9d5ee67e4cc2cd64d06602a (diff)
[feat] add Quark autocomplete support
Co-authored-by: Bnyro <bnyro@tutanota.com>
-rw-r--r--docs/admin/settings/settings_search.rst1
-rw-r--r--searx/autocomplete.py15
-rw-r--r--searx/settings.yml2
3 files changed, 17 insertions, 1 deletions
diff --git a/docs/admin/settings/settings_search.rst b/docs/admin/settings/settings_search.rst
index 76441dd0b..775c35509 100644
--- a/docs/admin/settings/settings_search.rst
+++ b/docs/admin/settings/settings_search.rst
@@ -41,6 +41,7 @@
- ``duckduckgo``
- ``google``
- ``mwmbl``
+ - ``quark``
- ``qwant``
- ``seznam``
- ``sogou``
diff --git a/searx/autocomplete.py b/searx/autocomplete.py
index 8a4f0a66a..ebe6972e3 100644
--- a/searx/autocomplete.py
+++ b/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,
diff --git a/searx/settings.yml b/searx/settings.yml
index 96a0c07cb..d09904dcf 100644
--- a/searx/settings.yml
+++ b/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