日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python翻譯腳本如何實(shí)現(xiàn)語言翻譯

Python翻譯腳本是可以進(jìn)行相關(guān)語言翻譯的。這是一個很有意思的事情。下面我們就詳細(xì)的來了解下相關(guān)的編寫流程。希望大家有所收獲。今天突然有一個想法,就是想自己寫一個翻譯腳本??上oogle提供的API是供網(wǎng)絡(luò)應(yīng)用的。

剛好在《dive into python》里面這本書里面看到如何從HTML文檔中提取出來自己想要的內(nèi)容,那這樣的話,可不可以模擬瀏覽器來發(fā)送想翻譯的句子,然后再接收返回結(jié)果后的HTML源碼,***從中提取出翻譯的結(jié)果呢?  

其實(shí)是行的,因?yàn)槔胮ython可以模擬瀏覽器的行為,向Google翻譯的主頁發(fā)送想要翻譯的句子。下面是具體的代碼:

 
 
 
  1. import urllib,urllib2
  2. values={'hl':'zh—CN','ie':'utf8','text':text,'langpair':"en|
    zh-CN"}
  3. url='http://translate.google.cn/translate_t'
  4. data = urllib.urlencode(values)
  5. req = urllib2.Request(url, data)
  6. req.add_header('User-Agent', "Mozilla/5.0+(compatible;+Googl
    ebot/2.1;++http://www.google.com/bot.html)")
  7. response = urllib2.urlopen(req)

上面最關(guān)鍵的是text這個變量,值為想翻譯的句子。后面的langpair的值是語言對,這里是英文翻譯成簡體中文,可以自由改動。下面就要實(shí)現(xiàn)一個類來取出我們想要的翻譯結(jié)果,這個類要從SGMLParser派生出來,SGMLParser是在sgmllib.py中包含的。

 
 
 
  1. from sgmllib import SGMLParser
  2. class URLLister(SGMLParser):
  3. def reset(self):
  4. SGMLParser.reset(self)
  5. self.result = []
  6. self.open = False
  7. def start_div(self, attrs):
  8. id = [v for k, v in attrs if k=='id']
  9. if 'result_box' in id:
  10. self.open = True
  11. def handle_data(self, text):
  12. if self.open:
  13. self.result.append(text)
  14. self.open = False

當(dāng)調(diào)用feed方法時,就會尋找開始標(biāo)記為div的片段,當(dāng)找到時,它會調(diào)用一個自身內(nèi)部的方法,其實(shí)最終也就是調(diào)用到start_div跟handle_data這兩個方法來找出我們想要的翻譯結(jié)果,具體的就不說了。下面是完整的代碼:

 
 
 
  1. import urllib,urllib2
  2. from sgmllib import SGMLParser
  3. class URLLister(SGMLParser):
  4. def reset(self):
  5. SGMLParser.reset(self)
  6. self.result = []
  7. self.open = False
  8. def start_div(self, attrs):
  9. id = [v for k, v in attrs if k=='id']
  10. if 'result_box' in id:
  11. self.open = True
  12. def handle_data(self, text):
  13. if self.open:
  14. self.result.append(text)
  15. self.open = False
  16. while True:
  17. text = raw_input("請輸入要翻譯的英文(退出輸入q):")
  18. if text=='q':
  19. break;
  20. values={'hl':'zh-CN','ie':'utf8','text':text,'langpair':
    "en|zh-CN"}
  21. url='http://translate.google.cn/translate_t'
  22. data = urllib.urlencode(values)
  23. req = urllib2.Request(url, data)
  24. req.add_header('User-Agent', "Mozilla/5.0+(compatible;+Googleb
    ot/2.1;++http://www.google.com/bot.html)")
  25. response = urllib2.urlopen(req)
  26. parser = URLLister()
  27. parser.feed(response.read())
  28. parser.close()
  29. print "翻譯結(jié)果:"
  30. for i in parser.result:
  31. i = unicode(i,'utf-8').encode('gbk');
  32. print i

以上就是對Python翻譯腳本的詳細(xì)介紹。


當(dāng)前題目:Python翻譯腳本如何實(shí)現(xiàn)語言翻譯
文章出自:http://www.5511xx.com/article/coheijc.html