Browse Source

[enh] add seznam autocomplete

Vojtěch Fošnár 3 years ago
parent
commit
de4af2fefd
2 changed files with 18 additions and 1 deletions
  1. 17 0
      searx/autocomplete.py
  2. 1 1
      searx/settings.yml

+ 17 - 0
searx/autocomplete.py

@@ -85,6 +85,22 @@ def google(query, lang):
     return results
 
 
+def seznam(query, _lang):
+    # seznam search autocompleter
+    url = 'https://suggest.seznam.cz/fulltext/cs?{query}'
+
+    resp = get(url.format(query=urlencode(
+        {'phrase': query, 'cursorPosition': len(query), 'format': 'json-2', 'highlight': '1', 'count': '6'}
+    )))
+
+    if not resp.ok:
+        return []
+
+    data = resp.json()
+    return [''.join(
+        [part.get('text', '') for part in item.get('text', [])]
+    ) for item in data.get('result', []) if item.get('itemType', None) == 'ItemType.TEXT']
+
 def startpage(query, lang):
     # startpage autocompleter
     lui = ENGINES_LANGUAGES['startpage'].get(lang, 'english')
@@ -133,6 +149,7 @@ backends = {
     'dbpedia': dbpedia,
     'duckduckgo': duckduckgo,
     'google': google,
+    'seznam': seznam,
     'startpage': startpage,
     'swisscows': swisscows,
     'qwant': qwant,

+ 1 - 1
searx/settings.yml

@@ -15,7 +15,7 @@ search:
   # Filter results. 0: None, 1: Moderate, 2: Strict
   safe_search: 0
   # Existing autocomplete backends: "dbpedia", "duckduckgo", "google",
-  # "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
+  # "seznam", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
   # by default.
   autocomplete: ""
   # Default search language - leave blank to detect from browser information or