summaryrefslogtreecommitdiff
path: root/searx/engines/gigablast.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/engines/gigablast.py')
-rw-r--r--searx/engines/gigablast.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/searx/engines/gigablast.py b/searx/engines/gigablast.py
index a6aa5d718..a84f3f69d 100644
--- a/searx/engines/gigablast.py
+++ b/searx/engines/gigablast.py
@@ -15,6 +15,7 @@ from json import loads
from time import time
from lxml.html import fromstring
from searx.url_utils import urlencode
+from searx.utils import eval_xpath
# engine dependent config
categories = ['general']
@@ -35,8 +36,8 @@ search_string = 'search?{query}'\
'&ff={safesearch}'\
'&rxiec={rxieu}'\
'&ulse={ulse}'\
- '&rand={rxikd}' # current unix timestamp
-
+ '&rand={rxikd}'\
+ '&dbez={dbez}'
# specific xpath variables
results_xpath = '//response//result'
url_xpath = './/url'
@@ -70,7 +71,8 @@ def request(query, params):
rxieu=random.randint(1000000000, 9999999999),
ulse=random.randint(100000000, 999999999),
lang=language,
- safesearch=safesearch)
+ safesearch=safesearch,
+ dbez=random.randint(100000000, 999999999))
params['url'] = base_url + search_path
@@ -98,9 +100,9 @@ def response(resp):
def _fetch_supported_languages(resp):
supported_languages = []
dom = fromstring(resp.text)
- links = dom.xpath('//span[@id="menu2"]/a')
+ links = eval_xpath(dom, '//span[@id="menu2"]/a')
for link in links:
- href = link.xpath('./@href')[0].split('lang%3A')
+ href = eval_xpath(link, './@href')[0].split('lang%3A')
if len(href) == 2:
code = href[1].split('_')
if len(code) == 2: