[fix] Bing-WEB: use <span class='algoSlug_icon'> for the description

On some result items from Bing-WEB the `<span class='algoSlug_icon'>` tag is the
only tag that contains a description.  The issue can be reproduced by [1]::

    !bi vmware

[1] https://github.com/searxng/searxng/issues/1764#issuecomment-1417990531

Reported-by: @AlyoshaVasilieva
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2023-04-08 09:43:04 +02:00
parent 393e14965a
commit 23ac964e35

View File

@ -198,13 +198,11 @@ def response(resp):
url = link.attrib.get('href') url = link.attrib.get('href')
title = extract_text(link) title = extract_text(link)
# Make sure that the element is free of <a href> links and <span class='algoSlug_icon'>
content = eval_xpath(result, '(.//p)[1]') content = eval_xpath(result, '(.//p)[1]')
for p in content: for p in content:
# Make sure that the element is free of <a href> links
for e in p.xpath('.//a'): for e in p.xpath('.//a'):
e.getparent().remove(e) e.getparent().remove(e)
for e in p.xpath('.//span[@class="algoSlug_icon"]'):
e.getparent().remove(e)
content = extract_text(content) content = extract_text(content)
# get the real URL either using the URL shown to user or following the Bing URL # get the real URL either using the URL shown to user or following the Bing URL