summaryrefslogtreecommitdiff
path: root/searx/engines
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2020-10-01 10:11:19 +0200
committerGitHub <noreply@github.com>2020-10-01 10:11:19 +0200
commitecb9f28869f081dc75182053c727523ed7e20d12 (patch)
treecceb122f6428e9b69182ccc67dedf5c0c1fe0bec /searx/engines
parentfd5fe369844e481aecc0d731b08ee8b29c9b47e6 (diff)
parent8162d7aff4a61801615d8044b71c7c477b2b2816 (diff)
downloadsearxng-ecb9f28869f081dc75182053c727523ed7e20d12.tar.gz
searxng-ecb9f28869f081dc75182053c727523ed7e20d12.zip
Merge pull request #2236 from return42/fix-2234
[fix] google engine - div classes has been renamed in HTML result
Diffstat (limited to 'searx/engines')
-rw-r--r--searx/engines/google.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/searx/engines/google.py b/searx/engines/google.py
index 7dc6b44ac..c9faadb6e 100644
--- a/searx/engines/google.py
+++ b/searx/engines/google.py
@@ -116,12 +116,12 @@ g_section_with_header = './g-section-with-header'
# the title is a h3 tag relative to the result group
title_xpath = './/h3[1]'
-# in the result group there is <div class="r" ../> it's first child is a <a
-# href=...> (on some results, the <a> is the first "descendant", not ""child")
-href_xpath = './/div[@class="r"]//a/@href'
+# in the result group there is <div class="yuRUbf" ../> it's first child is a <a
+# href=...>
+href_xpath = './/div[@class="yuRUbf"]//a/@href'
-# in the result group there is <div class="s" ../> containing he *content*
-content_xpath = './/div[@class="s"]'
+# in the result group there is <div class="IsZvec" ../> containing he *content*
+content_xpath = './/div[@class="IsZvec"]'
# Suggestions are links placed in a *card-section*, we extract only the text
# from the links not the links itself.
@@ -249,7 +249,12 @@ def response(resp):
continue
try:
- title = extract_text(eval_xpath(result, title_xpath)[0])
+ title_tag = eval_xpath(result, title_xpath)
+ if not title_tag:
+ # this not one of the common google results *section*
+ logger.debug('ingoring <div class="g" ../> section: missing title')
+ continue
+ title = extract_text(title_tag[0])
url = eval_xpath(result, href_xpath)[0]
content = extract_text_from_dom(result, content_xpath)
results.append({