@@ -10,11 +10,11 @@
1010 @parse url, title, content
1111"""
1212
13−from urllib import urlencode
1413from cgi import escape
15−from lxml import etree
14+from json import loads
1615from random import randint
1716from time import time
17+from urllib import urlencode
1818
1919# engine dependent config
2020categories = ['general']
@@ -27,11 +27,11 @@ safesearch = True
2727base_url = 'https://gigablast.com/'
2828search_string = 'search?{query}'\
2929 '&n={number_of_results}'\
30+ '&c=main'\
3031 '&s={offset}'\
31− '&format=xml'\
32+ '&format=json'\
3233 '&qh=0'\
33− '&rxiyd={rxiyd}'\
34− '&rand={rand}'\
34+ '&rxiwd={rxiwd}'\
3535 '&qlang={lang}'\
3636 '&ff={safesearch}'
3737
@@ -59,8 +59,8 @@ def request(query, params):
5959 search_path = search_string.format(query=urlencode({'q': query}),
6060 offset=offset,
6161 number_of_results=number_of_results,
62− rxiyd=randint(10000, 10000000),
63− rand=int(time()),
62+ rxiwd=1,
63+ # rand=int(time()),
6464 lang=language,
6565 safesearch=safesearch)
6666
@@ -73,18 +73,14 @@ def request(query, params):
7373def response(resp):
7474 results = []
7575
76− dom = etree.fromstring(resp.content)
77−
7876 # parse results
79− for result in dom.xpath(results_xpath):
80− url = result.xpath(url_xpath)[0].text
81− title = result.xpath(title_xpath)[0].text
82− content = escape(result.xpath(content_xpath)[0].text)
77+ response_json = loads(resp.text)
8378
79+ for result in response_json['results']:
8480 # append result
85− results.append({'url': url,
86− 'title': title,
87− 'content': content})
81+ results.append({'url': result['url'],
82+ 'title': escape(result['title']),
83+ 'content': escape(result['sum'])})
8884
8985 # return results
9086 return results