summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-03-01 09:04:21 +0100
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-03-01 09:43:06 +0100
commit03419078ef438b25f7a2c6dc3a7c9fd60b9f0c35 (patch)
treef514782765521907198a222e09696ce55e914026
parent01e2b3e325e63a614c3ff7f7b15dc98ec6c48196 (diff)
[fix] bing fetch engine traits - adjusted XPath selectors
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
-rw-r--r--searx/engines/bing.py4
-rw-r--r--searx/sxng_locales.py2
-rwxr-xr-xsearxng_extra/update/update_engine_traits.py6
3 files changed, 6 insertions, 6 deletions
diff --git a/searx/engines/bing.py b/searx/engines/bing.py
index da76f771e..47e8bb66d 100644
--- a/searx/engines/bing.py
+++ b/searx/engines/bing.py
@@ -223,7 +223,7 @@ def fetch_traits(engine_traits: EngineTraits):
'da': 'dk', # da --> da-dk
}
- for href in eval_xpath(dom, '//div[@id="language-section"]//li/a/@href'):
+ for href in eval_xpath(dom, '//div[@id="language-section-content"]//div[@class="languageItem"]/a/@href'):
eng_lang = parse_qs(urlparse(href).query)['setlang'][0]
babel_lang = map_lang.get(eng_lang, eng_lang)
try:
@@ -253,7 +253,7 @@ def fetch_traits(engine_traits: EngineTraits):
map_market_codes = {
'zh-hk': 'en-hk', # not sure why, but at M$ this is the market code for Hongkong
}
- for href in eval_xpath(dom, '//div[@id="region-section"]//li/a/@href'):
+ for href in eval_xpath(dom, '//div[@id="region-section-content"]//div[@class="regionItem"]/a/@href'):
cc_tag = parse_qs(urlparse(href).query)['cc'][0]
if cc_tag == 'clear':
engine_traits.all_locale = cc_tag
diff --git a/searx/sxng_locales.py b/searx/sxng_locales.py
index 2ff2b2cd6..34b72bf02 100644
--- a/searx/sxng_locales.py
+++ b/searx/sxng_locales.py
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
-'''List of SearXNG's locale codes.
+'''List of SearXNG's locale codes used for the search language/region.
.. hint::
diff --git a/searxng_extra/update/update_engine_traits.py b/searxng_extra/update/update_engine_traits.py
index 663275950..51b86c39f 100755
--- a/searxng_extra/update/update_engine_traits.py
+++ b/searxng_extra/update/update_engine_traits.py
@@ -28,7 +28,7 @@ from searx.enginelib.traits import EngineTraitsMap
languages_file = Path(searx_dir) / 'sxng_locales.py'
languages_file_header = """\
# SPDX-License-Identifier: AGPL-3.0-or-later
-'''List of SearXNG's locale codes.
+'''List of SearXNG's locale codes used for the search language/region.
.. hint::
@@ -101,8 +101,8 @@ def fetch_traits_map():
def filter_locales(traits_map: EngineTraitsMap):
"""Filter language & region tags by a threshold."""
- min_eng_per_region = 18
- min_eng_per_lang = 20
+ min_eng_per_region = 22
+ min_eng_per_lang = 24
_ = {}
for eng in traits_map.values():