summaryrefslogtreecommitdiff
path: root/searx/engines/google.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/engines/google.py')
-rw-r--r--searx/engines/google.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/searx/engines/google.py b/searx/engines/google.py
index 62e7d1170..36ca7a116 100644
--- a/searx/engines/google.py
+++ b/searx/engines/google.py
@@ -166,7 +166,11 @@ def extract_text_from_dom(result, xpath):
def request(query, params):
offset = (params['pageno'] - 1) * 10
- language = match_language(params['language'], supported_languages)
+ if params['language'] == 'all' or params['language'] == 'en-US':
+ language = 'en-GB'
+ else:
+ language = match_language(params['language'], supported_languages, language_aliases)
+
language_array = language.split('-')
if params['language'].find('-') > 0:
country = params['language'].split('-')[1]
@@ -381,10 +385,10 @@ def attributes_to_html(attributes):
def _fetch_supported_languages(resp):
supported_languages = {}
dom = html.fromstring(resp.text)
- options = dom.xpath('//table//td/font/label/span')
+ options = dom.xpath('//*[@id="langSec"]//input[@name="lr"]')
for option in options:
- code = option.xpath('./@id')[0][1:]
- name = option.text.title()
+ code = option.xpath('./@value')[0].split('_')[-1]
+ name = option.xpath('./@data-name')[0].title()
supported_languages[code] = {"name": name}
return supported_languages