diff --git a/searx/engines/onesearch.py b/searx/engines/onesearch.py index dc3cc1af0849b60af56b80d1324ea243fc876f69..1f1e0dd15da7349882c946b465d789dca90796fc 100644 --- a/searx/engines/onesearch.py +++ b/searx/engines/onesearch.py @@ -27,12 +27,16 @@ categories = ['general'] paging = True # search-url -URL = 'https://www.onesearch.com/yhs/search;?p=%s&b=%d' +URL = 'https://www.onesearch.com/yhs/search;?p=%s&b=%d&intl=%s' def request(query, params): + try: + region = params['language'].split('-')[-1] + except: + region = 'us' starting_from = (params['pageno'] * 10) - 9 - params['url'] = URL % (query, starting_from) + params['url'] = URL % (query, starting_from, region.lower()) return params diff --git a/searx/engines/youtube_noapi.py b/searx/engines/youtube_noapi.py index 68b75bc720301194905bc981feb30e3de2e75911..fb9d76b65c0e91cad2f10bf8996395dc3b42a4b6 100644 --- a/searx/engines/youtube_noapi.py +++ b/searx/engines/youtube_noapi.py @@ -26,7 +26,7 @@ time_range_support = True # search-url base_url = 'https://www.youtube.com/results' -search_url = base_url + '?search_query={query}&page={page}' +search_url = base_url + '?search_query={query}&page={page}&gl={region}&hl={lang}' time_range_url = '&sp=EgII{time_range}%253D%253D' # the key seems to be constant next_page_url = 'https://www.youtube.com/youtubei/v1/search?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' @@ -44,8 +44,12 @@ base_youtube_url = 'https://www.youtube.com/watch?v=' # do search-request def request(query, params): + try: + lang, region = params['language'].split('-') + except: + region = 'us' if not params['engine_data'].get('next_page_token'): - params['url'] = search_url.format(query=quote_plus(query), page=params['pageno']) + params['url'] = search_url.format(query=quote_plus(query), page=params['pageno'], region=region, lang=lang) if params['time_range'] in time_range_dict: params['url'] += time_range_url.format(time_range=time_range_dict[params['time_range']]) else: @@ -58,6 +62,8 @@ def request(query, params): params['headers']['Content-Type'] = 'application/json' params['headers']['Cookie'] = "CONSENT=YES+cb.%s-17-p0.en+F+941;" % datetime.now().strftime("%Y%m%d") + params['headers']['Cookie'] = f"PERF=gl={region}&hl={lang}" + return params diff --git a/searx/settings.yml b/searx/settings.yml index ed3bf48cd3d7c6b8b79032dae4ce95242bcce358..d458d59d6ba58cbb5049b98dc0b7a56a9cde0fad 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -1281,6 +1281,7 @@ engines: - name : dailymotion engine : dailymotion shortcut : dm + disabled : True - name : vimeo engine : vimeo @@ -1585,6 +1586,7 @@ engines: - name : mediathekviewweb engine : mediathekviewweb shortcut : mvw + disabled : True - name : kaufland shortcut : kauf