英语中的定义单词(Defining Vocabulary)

参见:http://rocflytosky.iteye.com/blog/116646

附件是用python从dict.cn查词后,附加了中文和例句的文件(纯文本)

查词程序处理牛津和朗文的区别就是牛津里面带了词性,用split给去掉了,代码如下:

python 代码
  1. #!d:/python25/python.exe   
  2. # -*- coding: gbk -*-   
  3. '''  
  4. 用途:读取文本文件中的单词,获取中文意义写入文件  
  5.      感谢dict.cn 提供web查词功能  
  6. 作者:invalid  
  7. mail:[email protected]  
  8. '''  
  9. import urllib  
  10. import urlparse  
  11. import re  
  12. import string  
  13. import sys  
  14. import pprint  
  15. from sgmllib import SGMLParser   
  16.   
  17.   
  18. class Html2TXT(SGMLParser):   
  19.     ''' convert html to txt parser'''  
  20.        
  21.     def __init__ (self):   
  22.         ''' init '''  
  23.         self.text = ''   
  24.         SGMLParser.__init__(self)   
  25.   
  26.     def reset(self):   
  27.         ''' reset '''  
  28.         self.text = ''   
  29.         SGMLParser.reset(self)   
  30.   
  31.     def handle_data(self, text):   
  32.         ''' deal '''  
  33.         self.text += text   
  34.   
  35. def get_txt(hname):   
  36.     ''' Get Txt'''  
  37.     html = open(hname,"r").read()   
  38.     parser = Html2TXT()   
  39.     parser.feed(html)   
  40.     parser.close()   
  41.     return parser.text   
  42.            
  43. def getpage(url):   
  44.     ''' get page '''  
  45.     data = [];   
  46.     try:   
  47.         filehandle = urllib.urlopen(url)   
  48.         data = filehandle.readlines()   
  49.         filehandle.close()   
  50.     except:   
  51.         pass  
  52.   
  53.     return data   
  54.   
  55.   
  56. def main(argv):   
  57.     ''' main '''  
  58.        
  59.     if len(argv) < 2:   
  60.         print "%s wordsfile" % argv[0]   
  61.         sys.exit(0)   
  62.   
  63.     urlbase = 'http://dict.cn/mini.php?q=%s'   
  64.     words = open(argv[1],"rt").readlines()   
  65.     #print words   
  66.     words2 = {}   
  67.     for word in words:   
  68.         word = word.strip()   
  69.         #朗文注释掉下面二行,比提供查询词组功能   
  70.         word = word.split(" ")[0].split(",")[0]   
  71.         if word.startswith('"'): word = word[1:]   
  72.         url = urlbase % word   
  73.         for x in range(10):   
  74.             print url   
  75.             data = getpage(url)   
  76.             open('tmp.htm','w').writelines(data)   
  77.             data = get_txt('tmp.htm')   
  78.             if (len(data)>2):   
  79.                 break;   
  80.   
  81.         if (len(data)>2):   
  82.             start = data.find("'#ffffff')")+11   
  83.             end   = data.find("\n\r\n\r\n加入生词本")   
  84.             #pprint.pprint(data[start:end])   
  85.             words2[word]= data[start:end]   
  86.   
  87.     wk = words2.keys()   
  88.     wk.sort()   
  89.     outfile = open(argv[1]+".txt","w")   
  90.     for w in wk:   
  91.         print >>outfile,"-----------------------"   
  92.         print >>outfile, w, words2[w]   
  93.     outfile.close()       
  94.         
  95. if __name__ == "__main__":   
  96.        
  97.     main(sys.argv)   
  98.   

 

你可能感兴趣的:(html,PHP,python,Gmail,idea)