39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#-*- coding:utf-8 -*-
 | 
						|
import random
 | 
						|
from ..base import *
 | 
						|
 | 
						|
 | 
						|
@register(u'Vocabulary.com')
 | 
						|
class Vocabulary(WebService):
 | 
						|
 | 
						|
    def __init__(self):
 | 
						|
        super(Vocabulary, self).__init__()
 | 
						|
 | 
						|
    def _get_from_api(self):
 | 
						|
        data = self.get_response(u'https://www.vocabulary.com/dictionary/{}'.format(self.quote_word))
 | 
						|
        soup = parse_html(data)
 | 
						|
        result = {
 | 
						|
            'short': u'',
 | 
						|
            'long': u'',
 | 
						|
        }
 | 
						|
 | 
						|
        # short
 | 
						|
        element = soup.find('p', class_='short')
 | 
						|
        if element:
 | 
						|
            result['short'] = u''.join(str(e) for e in element.contents)
 | 
						|
 | 
						|
        # long
 | 
						|
        element = soup.find('p', class_='long')
 | 
						|
        if element:
 | 
						|
            result['long'] = u''.join(str(e) for e in element.contents)
 | 
						|
 | 
						|
        return self.cache_this(result)
 | 
						|
    
 | 
						|
    @export([u'简短释义', u'Short definition'])
 | 
						|
    def fld_definate(self):
 | 
						|
        return self._get_field('short')
 | 
						|
 | 
						|
    @export([u'详细释义', u'Long definition'])
 | 
						|
    def fld_example(self):
 | 
						|
        return self._get_field('long')
 |