From 909b55fc7777c8544c82361a5d8f86e324777db1 Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Fri, 22 Feb 2019 16:27:20 +0800 Subject: [PATCH 1/4] add synonym & antonym MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 近义词和反义词字段 --- addons/fastwq/service/dict/baidu_chinese.py | 35 +++++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/addons/fastwq/service/dict/baidu_chinese.py b/addons/fastwq/service/dict/baidu_chinese.py index 3b0ed2a..73a59ad 100644 --- a/addons/fastwq/service/dict/baidu_chinese.py +++ b/addons/fastwq/service/dict/baidu_chinese.py @@ -18,6 +18,8 @@ class Baidu_Chinese(WebService): 'pinyin': '', 'basicmean': '', 'detailmean': '', + 'synonym': '', + 'antonym': '', 'fanyi': '', 'audio_url': '', } @@ -38,15 +40,28 @@ class Baidu_Chinese(WebService): if element: tag = element.find_all('div', {'class': 'tab-content'}) if tag: - result['basicmean'] = u''.join(str(x).decode('utf-8') for x in tag) + result['basicmean'] = u''.join(str(x) for x in tag) #详细释义 element = soup.find('div', id='detailmean-wrapper') if element: tag = element.find_all('div', {'class': 'tab-content'}) if tag: - result['detailmean'] = u''.join(str(x).decode('utf-8') for x in tag) - + result['detailmean'] = u''.join(str(x) for x in tag) + #近义词 + element = soup.find('div', id='synonym') + if element: + tag = element.find('div', {'class': 'block'}) + if tag: + element = tag.find_all('a') + result['synonym'] = u' '.join(x.get_text() for x in element) + #反义词 + element = soup.find('div', id='antonym') + if element: + tag = element.find('div', {'class': 'block'}) + if tag: + element = tag.find_all('a') + result['antonym'] = u' '.join(x.get_text() for x in element) #英文翻译 element = soup.find('div', id='fanyi-wrapper') if element: @@ -87,6 +102,20 @@ class Baidu_Chinese(WebService): return '' return self._css(val) + @export([u'近义词', u'Synonym']) + def fld_synonym(self): + val = self._get_field('synonym') + if val is None or val == '': + return '' + return self._css(val) + + @export([u'反义词', u'Antonym']) + def fld_antonym(self): + val = self._get_field('antonym') + if val is None or val == '': + return '' + return self._css(val) + @export([u'英文翻译', u'Translation[En]']) def fld_fanyi(self): return self._get_field('fanyi') From 25a3dda5e1d132d50fceb416436c03664c77f5c7 Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Fri, 22 Feb 2019 16:28:12 +0800 Subject: [PATCH 2/4] add synonym & antonym MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 近义词 和 反义词 字段 --- addons21/fastwq/service/dict/baidu_chinese.py | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/addons21/fastwq/service/dict/baidu_chinese.py b/addons21/fastwq/service/dict/baidu_chinese.py index d96d230..73a59ad 100644 --- a/addons21/fastwq/service/dict/baidu_chinese.py +++ b/addons21/fastwq/service/dict/baidu_chinese.py @@ -18,6 +18,8 @@ class Baidu_Chinese(WebService): 'pinyin': '', 'basicmean': '', 'detailmean': '', + 'synonym': '', + 'antonym': '', 'fanyi': '', 'audio_url': '', } @@ -46,7 +48,20 @@ class Baidu_Chinese(WebService): tag = element.find_all('div', {'class': 'tab-content'}) if tag: result['detailmean'] = u''.join(str(x) for x in tag) - + #近义词 + element = soup.find('div', id='synonym') + if element: + tag = element.find('div', {'class': 'block'}) + if tag: + element = tag.find_all('a') + result['synonym'] = u' '.join(x.get_text() for x in element) + #反义词 + element = soup.find('div', id='antonym') + if element: + tag = element.find('div', {'class': 'block'}) + if tag: + element = tag.find_all('a') + result['antonym'] = u' '.join(x.get_text() for x in element) #英文翻译 element = soup.find('div', id='fanyi-wrapper') if element: @@ -87,6 +102,20 @@ class Baidu_Chinese(WebService): return '' return self._css(val) + @export([u'近义词', u'Synonym']) + def fld_synonym(self): + val = self._get_field('synonym') + if val is None or val == '': + return '' + return self._css(val) + + @export([u'反义词', u'Antonym']) + def fld_antonym(self): + val = self._get_field('antonym') + if val is None or val == '': + return '' + return self._css(val) + @export([u'英文翻译', u'Translation[En]']) def fld_fanyi(self): return self._get_field('fanyi') From d50d412543bc278cc1872c2d1d08b934ce5e0eaf Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Mon, 25 Feb 2019 11:45:48 +0800 Subject: [PATCH 3/4] Update youdao.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 判断 同根词 值 屏蔽 返回的错误值 --- addons/fastwq/service/dict/youdao.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/fastwq/service/dict/youdao.py b/addons/fastwq/service/dict/youdao.py index 8c02c10..211b925 100644 --- a/addons/fastwq/service/dict/youdao.py +++ b/addons/fastwq/service/dict/youdao.py @@ -145,7 +145,10 @@ class Youdao(WebService): @export([u'同根词', u'Related words']) def fld_rel_word(self): - return self._get_singledict('rel_word') + val = self._get_singledict('rel_word') + if val is None or val == '' or u'词根:${rel_word.getStem()}' in str(val): + return ' ' + return val @export([u'同近义词', u'Synonyms']) def fld_syno(self): From 16947d457ac31d4d1848caabfa32dfcd084e11da Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Mon, 25 Feb 2019 11:47:00 +0800 Subject: [PATCH 4/4] Update youdao.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 判断 同根词 值 屏蔽 返回的错误值 --- addons21/fastwq/service/dict/youdao.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons21/fastwq/service/dict/youdao.py b/addons21/fastwq/service/dict/youdao.py index 8c02c10..211b925 100644 --- a/addons21/fastwq/service/dict/youdao.py +++ b/addons21/fastwq/service/dict/youdao.py @@ -145,7 +145,10 @@ class Youdao(WebService): @export([u'同根词', u'Related words']) def fld_rel_word(self): - return self._get_singledict('rel_word') + val = self._get_singledict('rel_word') + if val is None or val == '' or u'词根:${rel_word.getStem()}' in str(val): + return ' ' + return val @export([u'同近义词', u'Synonyms']) def fld_syno(self):