42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#-*- coding:utf-8 -*-
 | 
						|
import os
 | 
						|
import json
 | 
						|
from ..base import *
 | 
						|
 | 
						|
 | 
						|
@register([u'必应图片', u'Bing-Images'])
 | 
						|
class Bing_Images(WebService):
 | 
						|
 | 
						|
    bing_download_img = True
 | 
						|
 | 
						|
    def __init__(self):
 | 
						|
        super(Bing_Images, self).__init__()
 | 
						|
 | 
						|
    def _get_from_api(self):
 | 
						|
        url = u"http://cn.bing.com/images/search?q={}".format(self.quote_word)
 | 
						|
        html = self.get_response(url, timeout=10)
 | 
						|
        soup = parse_html(html)
 | 
						|
        result = {
 | 
						|
            'img': '',
 | 
						|
        }
 | 
						|
 | 
						|
        #图片连接
 | 
						|
        tag = soup.find('a', class_='iusc')
 | 
						|
        if tag:
 | 
						|
            try:
 | 
						|
                data = json.loads(tag.get('m'))
 | 
						|
                result['img'] = data.get('turl', u'')
 | 
						|
            except:
 | 
						|
                pass
 | 
						|
 | 
						|
        return self.cache_this(result)
 | 
						|
 | 
						|
    @export([u'图片', u'Image'])
 | 
						|
    def fld_pinyin(self):
 | 
						|
        url = self._get_field('img')
 | 
						|
        if url and self.bing_download_img:
 | 
						|
            filename = get_hex_name(self.unique.lower(), url, 'jpg')
 | 
						|
            if os.path.exists(filename) or self.download(url, filename):
 | 
						|
                return self.get_anki_label(filename, 'img')
 | 
						|
        return ''
 |