想起高中的时候英语一直很差,后来发现背英语中出现频率最高的单词是一种很高效的学习方法,于是现在写出来一个小程序
更新 
 
github项目地址 (如果觉得这个程序好,求个star)
一.运行前需要安装google-cloud库,并安装Google Cloud SDK 1.安装相关模块 1 pip install --upgrade google-cloud-translate 
2.调用api进行翻译之前,需要安装相关证书 安装  Google Cloud SDK 1 gcloud auth application-default login 
二.使用urllib取googletranslate 模拟一个头部,请求到translate.google.com去,然后解析出翻译文本
运行方式 把将要统计的文本放入Input.txt文件中,直接运行即可
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 import  reimport  urllib.requestimport  syslength = 4        input = open("words.txt" ,'r' ,encoding='utf-8' ) output = open('ouput.txt' ,'w+' ,encoding='utf-8' ) typ = sys.getfilesystemencoding() def  translate (querystr, to_l="zh" , from_l="en" ) :    C_agent = {'User-Agent' : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" }     flag = 'class="t0">'      tarurl = "http://translate.google.com/m?hl=%s&sl=%s&q=%s \          "  % (to_l, from_l, querystr.replace(" " , "+" ))    request = urllib.request.Request(tarurl, headers=C_agent)     page = str(urllib.request.urlopen(request).read().decode(typ))     target = page[page.find(flag) + len(flag):]     target = target.split("<" )[0 ]     return  target try :    all_word = input.read()     l = re.split(r'[^A-Za-z]+' ,all_word)     d = {}     for  i in  l:         i = i.lower()         if  d.get(i)==None :             d[i] = 1          else :             d[i] = d[i] +1      ju = 0      for  word in  sorted(d,key=d.get,reverse=True ):         if  len(word)<length:             continue                            tran = translate(word)         string = "%-18s%-10s%-7d\t" %(word,tran,d[word])                  ju += 1          if  ju%8 ==0 :             string += '\n'          output.write(string) finally :    input.close()     output.close()