@@ -22,10 +22,15 @@ from searx.utils import list_get
22categories = ['news']
22categories = ['news']
23paging = True
23paging = True
24language_support = True
24language_support = True
25+time_range_support = True
26# search-url
27# search-url
27base_url = 'https://www.bing.com/'
28base_url = 'https://www.bing.com/'
28search_string = 'news/search?{query}&first={offset}&format=RSS'
29search_string = 'news/search?{query}&first={offset}&format=RSS'
30+search_string_with_time = 'news/search?{query}&first={offset}&qft=interval%3d"{interval}"&format=RSS'
31+time_range_dict = {'day': '7',
31# remove click
36# remove click
@@ -46,6 +51,19 @@ def image_url_cleanup(url_string):
46 return url_string
51 return url_string
54+def _get_url(query, language, offset, time_range):
55+ if time_range in time_range_dict:
56+ search_path = search_string_with_time.format(
57+ query=urlencode({'q': query, 'setmkt': language}),
59+ interval=time_range_dict[time_range])
61+ search_path = search_string.format(
62+ query=urlencode({'q': query, 'setmkt': language}),
64+ return base_url + search_path
49# do search-request
67# do search-request
50def request(query, params):
68def request(query, params):
51 offset = (params['pageno'] - 1) * 10 + 1
69 offset = (params['pageno'] - 1) * 10 + 1
@@ -55,11 +73,7 @@ def request(query, params):
56 language = params['language'].replace('_', '-')
74 language = params['language'].replace('_', '-')
58− search_path = search_string.format(
76+ params['url'] = _get_url(query, language, offset, params['time_range'])
59− query=urlencode({'q': query, 'setmkt': language}),
62− params['url'] = base_url + search_path
64 return params
78 return params