Merge pull request #349 from Cqoicebordel/startpage_autocomplete

Add startpage as an autocompleter engine
This commit is contained in:
Alexandre Flament 2015-06-02 10:43:10 +02:00
commit fb4df9d6c3
1 changed files with 18 additions and 6 deletions

View File

@ -112,7 +112,7 @@ def searx_bang(full_query):
def dbpedia(query): def dbpedia(query):
# dbpedia autocompleter, no HTTPS # dbpedia autocompleter, no HTTPS
autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?' # noqa autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
response = get(autocomplete_url response = get(autocomplete_url
+ urlencode(dict(QueryString=query))) + urlencode(dict(QueryString=query)))
@ -139,7 +139,7 @@ def duckduckgo(query):
def google(query): def google(query):
# google autocompleter # google autocompleter
autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&' # noqa autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&'
response = get(autocomplete_url response = get(autocomplete_url
+ urlencode(dict(q=query))) + urlencode(dict(q=query)))
@ -153,9 +153,20 @@ def google(query):
return results return results
def startpage(query):
# wikipedia autocompleter
url = 'https://startpage.com/do/suggest?{query}'
resp = get(url.format(query=urlencode({'query': query}))).text.split('\n')
print resp
if len(resp) > 1:
return resp
return []
def wikipedia(query): def wikipedia(query):
# wikipedia autocompleter # wikipedia autocompleter
url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json' # noqa url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'
resp = loads(get(url.format(urlencode(dict(search=query)))).text) resp = loads(get(url.format(urlencode(dict(search=query)))).text)
if len(resp) > 1: if len(resp) > 1:
@ -166,5 +177,6 @@ def wikipedia(query):
backends = {'dbpedia': dbpedia, backends = {'dbpedia': dbpedia,
'duckduckgo': duckduckgo, 'duckduckgo': duckduckgo,
'google': google, 'google': google,
'startpage': startpage,
'wikipedia': wikipedia 'wikipedia': wikipedia
} }