on master help sign in
add time range search for duckduckgo
f13b9faNoemi Vanyi
searx/engines/duckduckgo.py+9
@@ -22,9 +22,15 @@ from searx.languages import language_codes
22categories = ['general']
22categories = ['general']
23paging = True
23paging = True
24language_support = True
24language_support = True
25+time_range_support = True
25
26
26# search-url
27# search-url
27url = 'https://duckduckgo.com/html?{query}&s={offset}'
28url = 'https://duckduckgo.com/html?{query}&s={offset}'
29+time_range_url = '&df={range}'
30+
31+time_range_dict = {'day': 'd',
32+ 'week': 'w',
33+ 'month': 'm'}
28
34
29# specific xpath variables
35# specific xpath variables
30result_xpath = '//div[@class="result results_links results_links_deep web-result "]' # noqa
36result_xpath = '//div[@class="result results_links results_links_deep web-result "]' # noqa
@@ -61,6 +67,9 @@ def request(query, params):
61 params['url'] = url.format(
67 params['url'] = url.format(
62 query=urlencode({'q': query}), offset=offset)
68 query=urlencode({'q': query}), offset=offset)
63
69
70+ if params['time_range']:
71+ params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
72+
64 return params
73 return params
65
74
66
75