(Courriels de diversion: <exhumes@demangeaisons-relaxe.com> <disperseraient@admettront-pressentions.com> <ajustant@deplafonneront-dimensionnee.com> <fragmenterais@chirurgiens-terrifieriez.com> <motocyclette@evasion-succombiez.com> <frayait@redistribueras-ca.com> <sanatorium@bourrer-hemostatique.com> <abattoirs@constellation-consommions.com> <ressuscitees@colles-paralyses.com> <maximisera@garbure-rhabillaient.com> )
Jean-Michel a écrit :
> Jean-Michel a écrit :
>
>
>
> Ou bien un script python qui appelle le service google?
>
>
A titre d'illustration, l'ébauche de script suivant donne une URL sur le
Japon, écrite en Russe, à traduire au service de traduction en ligne
sus-cité.
Il récupère les 3 frames, et pour chacune d'elle applique la redirection.
Une fois la redirection effectuée, la page html est filtrée avec la
fonction epure, mais ce n'est pas nécessairement le filtre souhaité...
Le tout est dumpé dans la sortie standard. Quelques approximations HTML
ont été faites.
Bonne chance...
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import urllib
import re
import string
import time
langCode={ "arabic":"ar", "bulgarian":"bg", "chinese":"zh-CN",
"croatian":"hr", "czech":"cs", "danish":"da", "dutch":"nl",
"english":"en", "finnish":"fi", "french":"fr", "german":"de",
"greek":"el", "hindi":"hi", "italian":"it", "japanese":"ja",
"korean":"ko", "norwegian":"no", "polish":"pl", "portugese":"pt",
"romanian":"ro", "russian":"ru", "spanish":"es", "swedish":"sv" }
def setUserAgent(userAgent):
urllib.FancyURLopener.version = userAgent
pass
#def translate(text, fromLang="English", toLang="German"):
def translate(text, fromLang="Russian", toLang="French"):
# urllib.FancyURLopener.version = "Mozilla/5.0 (X11; U; Linux i686;
en-US; rv:1.9.0.1) Gecko/2008070400 SUSE/3.0.1-0.1 Firefox/3.0.1"
setUserAgent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1)
Gecko/2008070400 SUSE/3.0.1-0.1 Firefox/3.0.1")
try:
post_params = urllib.urlencode({"langpair":"%s|%s"
%(langCode[fromLang.lower()],langCode[toLang.lower()]),
"text":text,"ie":"UTF8", "oe":"UTF8"})
except KeyError, error:
print "Currently we do not support %s" %(error.args[0])
return
page = urllib.urlopen("http://translate.google.com/translate_t",
post_params)
content = page.read()
page.close()
return content
def translate_url(url, fromLang="Russian", toLang="French"):
content = translate( url, fromLang, toLang)
content = string.replace(content,'><', ">\n<")
content = string.replace(content,'&', "&") #FIXME: mieux
envisageable...
return content
def epure(html):
return re.sub ( '<span class="google-src-text" style="direction:
ltr; text-align: left">(.*?)</span>', '', html) # \1 pas pris
#<span class="google-src-text" style="direction:
ltr; text-align: left">
def translate_url_main(url, fromLang="Russian", toLang="French"):
content = translate_url(url, fromLang, toLang)
#while ( match = re.search('<frame src="([^"]*?)"', content) ):
matches = re.findall('<frame src="([^"]*?)"', content)
for value in matches:
#value = match.groups()[0]
print
print value
page = urllib.urlopen("http://translate.google.com" + value )
time . sleep(3)
content2 = page.read()
content2 = string.replace(content2,'><', ">\n<")
content2 = string.replace(content2,'&', "&") #FIXME: mieux
envisageable...
page.close()
print
print content2
print
match = re.search( '<meta http-equiv="refresh"
content="0;URL=([^"]*?)"' , content2 )
if (match):
redirect_url = match.groups()[0]
print redirect_url
print
page = urllib.urlopen(redirect_url)
time . sleep(3)
content3 = page.read()
content3 = epure(content3)
content3 = string.replace(content3,'><', ">\n<")
print epure(content3)
print
return content
def translate_text(text, fromLang="Russian", toLang="French"):
content = translate( text, fromLang, toLang)
match = re.search("<div id=result_box dir=\"ltr\">(.*?)</div>", content)
value = match.groups()[0]
return value
print translate_text( "Высшим органом государственной власти и
единственным законодательным органом в Японии является Парламент. Он
состоит из двух палат: Палаты представителей и Палаты советников." )
print
print translate_url_main( "http://ru.wikipedia.org/wiki/Япония" )
-----------------------------------------------------------------
Les listes de diffusion du CULTe - Pour une informatique libre
http://www.CULTe.org/listes/
Pour se desabonner:
mailto:linux-31-unsubscribe@CULTe.org?subject=Cliquez_sur_ENVOYER