37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#-*- coding:utf-8 -*-
 | 
						|
 | 
						|
import os
 | 
						|
from bs4 import BeautifulSoup
 | 
						|
import requests
 | 
						|
from ..base import *
 | 
						|
from ...utils.misc import format_multi_query_word
 | 
						|
 | 
						|
@register('Span¡shD!ct')
 | 
						|
class SpanishDict(WebService):
 | 
						|
 | 
						|
    def _get_from_api(self):
 | 
						|
        url = 'https://www.spanishdict.com/translate/{}'.format(format_multi_query_word(self.quote_word))
 | 
						|
        page = requests.get(url)
 | 
						|
        soup = BeautifulSoup(page.text, 'html.parser')
 | 
						|
 | 
						|
        # Top Container
 | 
						|
        word_info = {}
 | 
						|
 | 
						|
        word_info['image_url'] = soup.find_all('img')[1]['src']
 | 
						|
        word_info['test'] = str(soup.find_all('img'))
 | 
						|
        return self.cache_this(word_info)
 | 
						|
        
 | 
						|
    @export([u'图片', u'Image'])
 | 
						|
    def fld_image(self):
 | 
						|
        #image_url = "https://d25rq8gxcq0p71.cloudfront.net/dictionary-images/300/c5453acf-e0f1-4fe4-9534-607c9aa21e85.jpg"
 | 
						|
        image_url = self._get_field('image_url')
 | 
						|
        file_extension = os.path.splitext(image_url)[1][1:].strip().lower()
 | 
						|
        filename = get_hex_name(self.unique.lower(), image_url, file_extension)
 | 
						|
        if os.path.exists(filename) or self.download(image_url, filename):
 | 
						|
            return self.get_anki_label(filename, 'img')
 | 
						|
        return ''
 | 
						|
        
 | 
						|
    @export([u'测试链接', u'test'])
 | 
						|
    def fld_tst(self):
 | 
						|
        return self._get_field('test')
 |