Консольный гуглопереводчик.

Oct 16, 2009 20:40

Вот тут набросал себе на Python'е скриптик для перевода с помощью google. Может кому пригодится, правда переводит он только в направлении en->ru.

copy to clipboardподсветка кода
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. import sys  
  5. import getopt  
  6. import httplib  
  7. import urllib;  
  8.   
  9.   
  10. if len(sys.argv) < 2:  
  11.     print "error: no text for translation specified"  
  12.     sys.exit(0)  
  13.   
  14.   
  15. dic_domain = "translate.google.ru"  
  16. dic_request = "/translate_a/t?client=t&text=%s&sl=%s&tl=%s&pc=1&oc=1"  
  17.   
  18. lang_from = "en"  
  19. lang_to = "ru"  
  20.   
  21. text = urllib.quote(" ".join(sys.argv[1:]))  
  22.   
  23.   
  24. try:  
  25.     conn = httplib.HTTPConnection(dic_domain)  
  26. except httplib.HTTPException:  
  27.     print "Failed to connect to remote translate service."  
  28.     sys.exit(1)  
  29.   
  30. conn.request("GET", dic_request % (text, lang_from, lang_to,))  
  31. resp = conn.getresponse()  
  32.   
  33. if resp.status != httplib.OK:  
  34.     print "Bad server response."  
  35.     print resp.status, resp.reason  
  36.     sys.exit(2)  
  37.   
  38. data = resp.read()  
  39. conn.close()  
  40.   
  41. encoding = resp.getheader('Content-type').split('=')[1]  
  42. data = unicode(data, encoding)  
  43.   
  44. data = eval(data)  
  45.   
  46.   
  47. if type(data).__name__ == "str":  
  48.     print data  
  49. else:  
  50.     print data[0]  
  51.   
  52.     for sec in data[1]:  
  53.         print sec[0]  
  54.   
  55.         for word in sec[1:]:  
  56.             print "\t", word  

translate, google, python

Previous post
Up