From f3f13519ff8bad181ddb1e749a3e57dfd92f003c Mon Sep 17 00:00:00 2001
From: Zhijie He <hezhijie0327@hotmail.com>
Date: Sat, 25 Jan 2025 18:59:10 +0800
Subject: [PATCH] [feat] autocompletion: add baidu search autocompleter (#4227)

---
 searx/autocomplete.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/searx/autocomplete.py b/searx/autocomplete.py
index 09589cf1f..206589c67 100644
--- a/searx/autocomplete.py
+++ b/searx/autocomplete.py
@@ -36,6 +36,21 @@ def post(*args, **kwargs):
     return http_post(*args, **kwargs)
 
 
+def baidu(query, _lang):
+    # baidu search autocompleter
+    base_url = "https://www.baidu.com/sugrec?"
+    response = get(base_url + urlencode({'ie': 'utf-8', 'json': 1, 'prod': 'pc', 'wd': query}))
+
+    results = []
+
+    if response.ok:
+        data = response.json()
+        if 'g' in data:
+            for item in data['g']:
+                results.append(item['q'])
+    return results
+
+
 def brave(query, _lang):
     # brave search autocompleter
     url = 'https://search.brave.com/api/suggest?'
@@ -238,6 +253,7 @@ def yandex(query, _lang):
 
 
 backends = {
+    'baidu': baidu,
     'dbpedia': dbpedia,
     'duckduckgo': duckduckgo,
     'google': google_complete,