summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarIT.de>2023-01-09 15:17:31 +0100
committerGitHub <noreply@github.com>2023-01-09 15:17:31 +0100
commitafd71a6c0fb2dad424ec184517e0425e457b85cf (patch)
tree557b602a3e5f1e6e6528511d2cf369238916693b
parenta90ed481ed28ca35bdc9e694c355120ec2ccebb2 (diff)
parent7fc8d72889742399abb0d327e355ab350ddb395b (diff)
downloadsearxng-afd71a6c0fb2dad424ec184517e0425e457b85cf.tar.gz
searxng-afd71a6c0fb2dad424ec184517e0425e457b85cf.zip
Merge pull request #2089 from ahmad-alkadri/fix/bing-check-nolinks
Added a check to see if the element contains links
-rw-r--r--searx/engines/bing.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/searx/engines/bing.py b/searx/engines/bing.py
index 5c4681cd8..783c0056a 100644
--- a/searx/engines/bing.py
+++ b/searx/engines/bing.py
@@ -9,7 +9,7 @@
import re
from urllib.parse import urlencode, urlparse, parse_qs
from lxml import html
-from searx.utils import eval_xpath, extract_text, eval_xpath_list, match_language
+from searx.utils import eval_xpath, extract_text, eval_xpath_list, match_language, eval_xpath_getindex
from searx.network import multi_requests, Request
about = {
@@ -84,9 +84,12 @@ def response(resp):
url_to_resolve = []
url_to_resolve_index = []
- for i, result in enumerate(eval_xpath_list(dom, '//li[contains(@class, "b_algo")]')):
+ i = 0
+ for result in eval_xpath_list(dom, '//ol[@id="b_results"]/li[contains(@class, "b_algo")]'):
- link = eval_xpath(result, './/h2/a')[0]
+ link = eval_xpath_getindex(result, './/h2/a', 0, None)
+ if link is None:
+ continue
url = link.attrib.get('href')
title = extract_text(link)
@@ -119,6 +122,8 @@ def response(resp):
# append result
results.append({'url': url, 'title': title, 'content': content})
+ # increment result pointer for the next iteration in this loop
+ i += 1
# resolve all Bing redirections in parallel
request_list = [