@@ -1,13 +1,15 @@
1from lxml import etree
1from lxml import etree
2from requests import get
2from requests import get
3from json import loads
3from json import loads
4+from urllib import urlencode
6def dbpedia(query):
7def dbpedia(query):
7 # dbpedia autocompleter
8 # dbpedia autocompleter
8− autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?QueryString={q}' # noqa
9+ autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?' # noqa
10− response = get(autocomplete_url.format(q=query))
11+ response = get(autocomplete_url
12+ + urlencode(dict(QueryString=query)))
12 results = []
14 results = []
@@ -21,14 +23,15 @@ def dbpedia(query):
22def google(query):
24def google(query):
23 # google autocompleter
25 # google autocompleter
24− autocomplete_url = 'http://suggestqueries.google.com/complete/search?client=toolbar&q={q}' # noqa
26+ autocomplete_url = 'http://suggestqueries.google.com/complete/search?client=toolbar&' # noqa
26− response = get(autocomplete_url.format(q=query))
28+ response = get(autocomplete_url
29+ + urlencode(dict(q=query)))
28 results = []
31 results = []
30 if response.ok:
33 if response.ok:
31− dom = etree.fromstring(response.content)
34+ dom = etree.fromstring(response.text)
32 results = dom.xpath('//suggestion/@data')
35 results = dom.xpath('//suggestion/@data')
34 return results
37 return results
@@ -36,9 +39,9 @@ def google(query):
37def wikipedia(query):
40def wikipedia(query):
38 # wikipedia autocompleter
41 # wikipedia autocompleter
39− url = 'https://en.wikipedia.org/w/api.php?action=opensearch&search={q}&limit=10&namespace=0&format=json' # noqa
42+ url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json' # noqa
41− resp = loads(get(url.format(q=query)).text)
44+ resp = loads(get(url.format(urlencode(dict(q=query)))).text)
42 return resp[1]
45 return resp[1]