on master help sign in
[enh] bing updates ++ language support
aa41c2basciimoo
searx/engines/bing.py+14−1
@@ -4,12 +4,15 @@ from cgi import escape
4
4
5base_url = 'http://www.bing.com/'
5base_url = 'http://www.bing.com/'
6search_string = 'search?{query}'
6search_string = 'search?{query}'
7+language = 'en-us' # see http://msdn.microsoft.com/en-us/library/dd251064.aspx
8+
7
9
8def request(query, params):
10def request(query, params):
9− search_path = search_string.format(query=urlencode({'q': query}))
11+ search_path = search_string.format(query=urlencode({'q': query, 'setmkt': language}))
10 #if params['category'] == 'images':
12 #if params['category'] == 'images':
11 # params['url'] = base_url + 'images/' + search_path
13 # params['url'] = base_url + 'images/' + search_path
12 params['url'] = base_url + search_path
14 params['url'] = base_url + search_path
15+ print params['url']
13 return params
16 return params
14
17
15
18
@@ -23,4 +26,14 @@ def response(resp):
23 title = ' '.join(link.xpath('.//text()'))
26 title = ' '.join(link.xpath('.//text()'))
24 content = escape(' '.join(result.xpath('.//p//text()')))
27 content = escape(' '.join(result.xpath('.//p//text()')))
25 results.append({'url': url, 'title': title, 'content': content})
28 results.append({'url': url, 'title': title, 'content': content})
29+
30+ if results:
31+ return results
32+
33+ for result in dom.xpath('//li[@class="b_algo"]'):
34+ link = result.xpath('.//h2/a')[0]
35+ url = link.attrib.get('href')
36+ title = ' '.join(link.xpath('.//text()'))
37+ content = escape(' '.join(result.xpath('.//p//text()')))
38+ results.append({'url': url, 'title': title, 'content': content})
26 return results
39 return results