|
@@ -19,11 +19,21 @@ from time import time
|
19
|
19
|
# engine dependent config
|
20
|
20
|
categories = ['general']
|
21
|
21
|
paging = True
|
22
|
|
-number_of_results = 5
|
|
22
|
+number_of_results = 10
|
|
23
|
+language_support = True
|
|
24
|
+safesearch = True
|
23
|
25
|
|
24
|
|
-# search-url, invalid HTTPS certificate
|
|
26
|
+# search-url
|
25
|
27
|
base_url = 'https://gigablast.com/'
|
26
|
|
-search_string = 'search?{query}&n={number_of_results}&s={offset}&format=xml&qh=0&rxiyd={rxiyd}&rand={rand}'
|
|
28
|
+search_string = 'search?{query}'\
|
|
29
|
+ '&n={number_of_results}'\
|
|
30
|
+ '&s={offset}'\
|
|
31
|
+ '&format=xml'\
|
|
32
|
+ '&qh=0'\
|
|
33
|
+ '&rxiyd={rxiyd}'\
|
|
34
|
+ '&rand={rand}'\
|
|
35
|
+ '&qlang={lang}'\
|
|
36
|
+ '&ff={safesearch}'
|
27
|
37
|
|
28
|
38
|
# specific xpath variables
|
29
|
39
|
results_xpath = '//response//result'
|
|
@@ -36,12 +46,23 @@ content_xpath = './/sum'
|
36
|
46
|
def request(query, params):
|
37
|
47
|
offset = (params['pageno'] - 1) * number_of_results
|
38
|
48
|
|
39
|
|
- search_path = search_string.format(
|
40
|
|
- query=urlencode({'q': query}),
|
41
|
|
- offset=offset,
|
42
|
|
- number_of_results=number_of_results,
|
43
|
|
- rxiyd=randint(10000, 10000000),
|
44
|
|
- rand=int(time()))
|
|
49
|
+ if params['language'] == 'all':
|
|
50
|
+ language = 'xx'
|
|
51
|
+ else:
|
|
52
|
+ language = params['language'][0:2]
|
|
53
|
+
|
|
54
|
+ if params['safesearch'] >= 1:
|
|
55
|
+ safesearch = 1
|
|
56
|
+ else:
|
|
57
|
+ safesearch = 0
|
|
58
|
+
|
|
59
|
+ search_path = search_string.format(query=urlencode({'q': query}),
|
|
60
|
+ offset=offset,
|
|
61
|
+ number_of_results=number_of_results,
|
|
62
|
+ rxiyd=randint(10000, 10000000),
|
|
63
|
+ rand=int(time()),
|
|
64
|
+ lang=language,
|
|
65
|
+ safesearch=safesearch)
|
45
|
66
|
|
46
|
67
|
params['url'] = base_url + search_path
|
47
|
68
|
|