python really battery includeded
see the http://code.activestate测试数据/recipes/576890-python-wrapper-for-google-ajax-language-api/
really cool isn't it?
A Python Wrapper for Google AJAX Language API , Uses Google Language Detection, in cases source language is not provided with the source text, Splits up text if it's longer then 4500 characters, as a limit put up by the API . Working fine for me, please let me know if i missed something.
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
# -*- coding: utf-8 -*-
import re
import sys
import urllib
import simplejson
baseUrl = "http://ajax. google api s测试数据/ajax/services/ language /translate"
def getSplits ( text , splitLength = 4500 ):
'''
Translate Api has a limit on length of text(4500 characters) that can be translated at once,
'''
return ( text [ index : index + splitLength ] for index in xrange ( 0 , len ( text ), splitLength ))
def translate ( text , src = '' , to = 'en' ):
'''
A Python Wrapper for Google AJAX Language API :
* Uses Google Language Detection, in cases source language is not provided with the source text
* Splits up text if it's longer then 4500 characters, as a limit put up by the API
'''
params = ({ 'langpair' : ' %s | %s ' % ( src , to ),
'v' : '1.0'
})
retText = ''
for text in getSplits ( text ):
params [ 'q' ] = text
resp = simplejson . load ( urllib . urlopen ( ' %s ' % ( baseUrl ), data = urllib . urlencode ( params )))
try :
retText += resp [ 'responseData' ][ 'translatedText' ]
except :
raise
return retText
def test ():
msg = " Write something You want to be translated to English, \n " " Enter ctrl+c to exit"
print msg
while True :
text = raw_input ( '#> ' )
retText = translate ( text )
print retText
if __name__ == '__main__' :
try :
test ()
except KeyboardInterrupt :
print " \n "
sys . exit ( 0 )
查看更多关于python really battery includeded的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did43765