summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/engines/duckduckgo.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/searx/engines/duckduckgo.py b/searx/engines/duckduckgo.py
index e421b9cfd..3ce629eec 100644
--- a/searx/engines/duckduckgo.py
+++ b/searx/engines/duckduckgo.py
@@ -98,7 +98,12 @@ def get_vqd(query):
query_url = 'https://lite.duckduckgo.com/lite/?{args}'.format(args=urlencode({'q': query}))
res = get(query_url)
doc = lxml.html.fromstring(res.text)
- value = doc.xpath("//input[@name='vqd']/@value")[0]
+ value = doc.xpath("//input[@name='vqd']/@value")
+ if value:
+ value = value[0]
+ else:
+ # some search terms do not have results and therefore no vqd value
+ value = ''
logger.debug("new vqd value: %s", value)
cache_vqd(query, value)
return value
@@ -236,9 +241,6 @@ def request(query, params):
params['data']['s'] = offset
params['data']['dc'] = offset + 1
- # request needs a vqd argument
- params['data']['vqd'] = get_vqd(query)
-
# initial page does not have additional data in the input form
if params['pageno'] > 1: