Google Translate API Python Script
Ok, so this isn’t my script but it’s a much nicer version of the one I wrote that scrapes the actual Google translate website to do the same thing. I’d like to thank Ashish Yadav for writing and sharing this.
Translating text is an easy way to create variations of content that is recognized as unique by the search engines. As part of a bigger SEO strategy this can make a big impact on your traffic. Or it could be used to provide an automated way to translate your website to another language.
# -*- coding: utf-8 -*- import re import sys import urllib import simplejson baseUrl = "http://ajax.googleapis.com/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)


Thanks for sharing. Can you show us the dark side of python?
Thank you!
There’s another Python module that includes methods for google translate, it’s xgoogle: http://www.catonmat.net/blog/python-library-for-google-translate/
[...] I wondered how nice it would have been to have an inbuilt library to do the word to word translation and avoid the unnecessary manual process. Then first thing that comes to mind is “Google Translator“. I search for the APIs to find that its available in AJAX. Now what would you do if yours isn’t a web application. Find a way to call the AJAX methods through the language you are using. Thankfully I find the module “simplejson” in python to my rescue. Now write a python script to call the translate API or find it here. [...]
[...] Google Translate API Python Script | HalOtis Marketing Tagged as: python, web, windows, word Leave a comment Comments (0) Trackbacks (0) ( subscribe [...]
This returns an error:
return translated_soup(‘div’, id=’result_box’)[0].string
IndexError: list index out of range
args = (‘list index out of range’,)
bacause thers nothing in the reslut box at the moment of reading – Google uses ajax for for adding the result later.
fondos de pantalla…
[...]Google Translate API Python Script | HalOtis[...]…
hip hop videos for your urban lifestyle, rap videos…
[...]Google Translate API Python Script | HalOtis[...]…