summaryrefslogtreecommitdiff
path: root/searx/engines/bing_images.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/engines/bing_images.py')
-rw-r--r--searx/engines/bing_images.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py
index 06850dfe1..2664b795f 100644
--- a/searx/engines/bing_images.py
+++ b/searx/engines/bing_images.py
@@ -17,7 +17,7 @@
from urllib import urlencode
from lxml import html
-from yaml import load
+from json import loads
import re
# engine dependent config
@@ -36,6 +36,9 @@ safesearch_types = {2: 'STRICT',
0: 'OFF'}
+_quote_keys_regex = re.compile('({|,)([a-z][a-z0-9]*):(")', re.I | re.U)
+
+
# do search-request
def request(query, params):
offset = (params['pageno'] - 1) * 10 + 1
@@ -65,22 +68,19 @@ def response(resp):
dom = html.fromstring(resp.text)
- # init regex for yaml-parsing
- p = re.compile('({|,)([a-z]+):(")')
-
# parse results
for result in dom.xpath('//div[@class="dg_u"]'):
link = result.xpath('./a')[0]
- # parse yaml-data (it is required to add a space, to make it parsable)
- yaml_data = load(p.sub(r'\1\2: \3', link.attrib.get('m')))
+ # parse json-data (it is required to add a space, to make it parsable)
+ json_data = loads(_quote_keys_regex.sub(r'\1"\2": \3', link.attrib.get('m')))
title = link.attrib.get('t1')
ihk = link.attrib.get('ihk')
# url = 'http://' + link.attrib.get('t3')
- url = yaml_data.get('surl')
- img_src = yaml_data.get('imgurl')
+ url = json_data.get('surl')
+ img_src = json_data.get('imgurl')
# append result
results.append({'template': 'images.html',