自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python翻譯腳本如何實現(xiàn)語言翻譯

開發(fā) 后端
使用Python翻譯腳本是可以進行語言翻譯的,這實現(xiàn)起來不是很困難,下面就是相關(guān)代碼的編寫流程。希望大家能夠有所收獲。

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

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

其實是行的,因為利用python可以模擬瀏覽器的行為,向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)  
  8.  

 

上面最關(guān)鍵的是text這個變量,值為想翻譯的句子。后面的langpair的值是語言對,這里是英文翻譯成簡體中文,可以自由改動。下面就要實現(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 
  15.  

 

當(dāng)調(diào)用feed方法時,就會尋找開始標(biāo)記為div的片段,當(dāng)找到時,它會調(diào)用一個自身內(nèi)部的方法,其實最終也就是調(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ì)介紹。

【編輯推薦】

  1. Python腳本解決在游戲開發(fā)中的困難
  2. 簡述Python語言經(jīng)驗總結(jié)
  3. Python全局變量的隱藏“竅門”
  4. Python文件路徑具體操作方法經(jīng)典講解
  5. Python優(yōu)化圖片實際操作技巧淺析
責(zé)任編輯:張浩 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2020-10-11 22:05:22

機器翻譯谷歌AI

2024-02-06 17:57:06

Go語言任務(wù)

2011-09-15 10:26:08

2020-10-21 15:24:42

阿里AI翻譯

2020-06-04 09:22:46

谷歌AI翻譯

2023-04-13 08:37:58

ChatGPTDIVHTML

2011-11-23 15:20:11

API

2011-11-25 09:09:22

jQuery

2022-08-30 09:00:00

人工智能智能技術(shù)機器學(xué)習(xí)

2020-04-27 10:37:53

機器翻譯腦機接口腦波

2022-07-07 12:38:58

PlatformsMetaNLLB-200

2013-03-19 13:57:01

WebKit前端

2021-09-15 20:20:00

AI

2020-04-06 09:15:43

谷歌翻譯工具

2012-05-17 13:40:57

Google翻譯

2017-03-30 15:40:46

編程語言翻譯家

2021-08-26 15:05:01

微軟翻譯文言文微軟亞洲研究院

2021-06-15 05:15:30

DeepL翻譯神器應(yīng)用

2021-06-01 10:06:59

MozillaFirefox翻譯

2017-01-09 15:34:12

IEDA翻譯神器
點贊
收藏

51CTO技術(shù)棧公眾號