Merge pull request #206 from tiemann45/addon/mw
Support Merriam-Webster online. Currently only extract Synonym/Antonym
This commit is contained in:
commit
82fbe61bc8
35
addons21/fastwq/service/dict/mw.py
Normal file
35
addons21/fastwq/service/dict/mw.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# -*- coding:utf-8 -*-
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
from bs4 import Tag
|
||||||
|
from ..base import *
|
||||||
|
from ...utils.misc import format_multi_query_word
|
||||||
|
|
||||||
|
@register([u'韦氏词典', u'Merriam-Webster'])
|
||||||
|
class MerriamWebster(WebService):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MerriamWebster, self).__init__()
|
||||||
|
|
||||||
|
def _get_from_api(self):
|
||||||
|
url = 'https://www.merriam-webster.com/dictionary/{}'.format(format_multi_query_word(self.quote_word))
|
||||||
|
data = self.get_response(url)
|
||||||
|
soup = parse_html(data)
|
||||||
|
|
||||||
|
# Top Container
|
||||||
|
word_info = {}
|
||||||
|
|
||||||
|
sym_div = soup.find('div', {'id': 'synonyms-anchor'})
|
||||||
|
for a in sym_div.findAll('a'):
|
||||||
|
if 'thesaurus' not in a['href']:
|
||||||
|
a['href'] = 'https://www.merriam-webster.com/dictionary{}'.format(a['href'])
|
||||||
|
else:
|
||||||
|
a['href'] = 'https://www.merriam-webster.com{}'.format(a['href'])
|
||||||
|
word_info['sa'] = str(sym_div)
|
||||||
|
return self.cache_this(word_info)
|
||||||
|
|
||||||
|
@export([u'同义词反义词', u'Synonyms & Antonyms'])
|
||||||
|
@with_styles(cssfile='_mw.css')
|
||||||
|
def fld_sa(self):
|
||||||
|
return self._get_field('sa')
|
||||||
1
addons21/fastwq/service/static/_mw.css
Normal file
1
addons21/fastwq/service/static/_mw.css
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user