on master help sign in
[fix] yandex engine language support according to #430
commite98aef6fc4954681e58d774203d522f0ae478004 authorAdam Tauber <asciimoo@gmail.com> dateSat 31 Oct 2015, 23:05 (11 years ago) parent4b8f977
1 file changed+10−3
searx/engines/yandex.py+10−3
searx/engines/yandex.py+10−3
@@ -20,8 +20,13 @@ categories = ['general']
2020paging = True
2121language_support = True # TODO
2222
23+default_tld = 'com'
24+language_map = {'ru': 'ru',
25+ 'ua': 'uk',
26+ 'tr': 'com.tr'}
27+
2328# search-url
24−base_url = 'https://yandex.ru/'
29+base_url = 'https://yandex.{tld}/'
2530search_url = 'search/?{query}&p={page}'
2631
2732results_xpath = '//div[@class="serp-item serp-item_plain_yes clearfix i-bem"]'
@@ -31,8 +36,10 @@ content_xpath = './/div[@class="serp-item__text"]//text()'
3136
3237
3338def request(query, params):
34− params['url'] = base_url + search_url.format(page=params['pageno']-1,
35− query=urlencode({'text': query}))
39+ lang = params['language'].split('_')[0]
40+ host = base_url.format(tld=language_map.get(lang) or default_tld)
41+ params['url'] = host + search_url.format(page=params['pageno']-1,
42+ query=urlencode({'text': query}))
3643 return params
3744
3845