以前試過將collins字典的mdx格式中的信息,提取為單詞數(shù)據(jù)庫,可是以前的文件全部丟失,這次做個記錄。
首先用谷歌搜索mdx轉(zhuǎn)換為txt,有個字典轉(zhuǎn)換的工具,下載后轉(zhuǎn)換為txt。
因為后綴格式是txt,但實際內(nèi)容是xml,但是用于網(wǎng)頁顯示,所以用beautifulsoup4(bs4)好一點。然后將后綴改為html,便于更好的用bs4處理。
打開仔細(xì)分析格式,發(fā)現(xiàn)有很多標(biāo)簽,我們想用的就是單詞本身、詞義的序號、詞性、詞義、例句。以abandon為例。
在純文本中并不能很清楚的看到結(jié)構(gòu),所以我們新建一個文本文檔,然后把內(nèi)容拷貝進(jìn)去,再改名為.html后綴。接著用chrome瀏覽器打開文件看看,出現(xiàn)了排版好的單詞解釋。我們需要看的是結(jié)構(gòu),頁面點擊右鍵,選擇【檢查】。這時會出現(xiàn)xml的布局。
首先最上層的結(jié)構(gòu)是第一個詞是單詞本身,然后是星級。這兩個都只是使用了font標(biāo)簽,修改了字體。
第二個是四層嵌套的div分區(qū)。class分別是tab_content,part_main和part_list,collins_content。前一層包含后一層,并沒有其他內(nèi)容。
在collins_content中,包含有單詞所有的詞義,有幾個詞義就有幾個class=collins_en_cn的div分區(qū),同時還有一些div style = display的附加性說明。
在所有collins_en_cn中,有兩大部分,一部分是單詞的詞義本身,另一部分是例句。詞義本身是一個div分區(qū),并沒有class,只是規(guī)定了style="display:block;background-color:#f5f7fc;"。例句是無序列表ol。
對于例句ol我們暫時不關(guān)注。只關(guān)注當(dāng)前需要的星級,詞義序號,詞性,中文詞義。當(dāng)然這個詞典還沒有音標(biāo)和發(fā)音,這個后面再解決。但是給多條例句,一條英文詞義,音標(biāo)和發(fā)音都要留下數(shù)據(jù)庫的位置。發(fā)音庫也要自己找,網(wǎng)上有流傳的14200個單詞語音庫,是來自韋氏字典,總共500多M。音標(biāo)可以在Collins COBUILD Advanced Dictionary 6th.mdx中找到。現(xiàn)在資源都齊了,就是提取和合并。
繼續(xù)回到第一個collins_en_cn的詞義div,其中分為多個span,第一個是序號,第二個是詞性,第三個是中文解釋。英文解釋暫時不管。
<span style="color:#666666;font-weight:bold;font-size:95%;">1.</span>
<span style="color:#666666;font-weight:bold;font-size:95%;" tid="1_27">VERB 動詞</span>
<span style="color:#0077cf"> 離棄;遺棄;拋棄</span>
現(xiàn)在我們關(guān)注的元素,都已經(jīng)分析清楚了,下一步就是coding.