forked from Icycoide/searxng
[fix] bing images changes
This commit is contained in:
parent
37035b7a40
commit
ebbf33343a
2 changed files with 15 additions and 21 deletions
|
@ -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',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue