Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuáles son algunos métodos útiles de traducción de idiomas en Python?

¿Cuáles son algunos métodos útiles de traducción de idiomas en Python?

1 importar re

2 importar urllib.parse, urllib.request

3 importar hashlib

4 importar urllib

5 importación aleatoria

6 importación json

7 tiempo de importación

8 desde traducir traductor de importación

No incluido con las bibliotecas de Python , como Python Google Translate, deben instalarse manualmente, comando pip install module_name.

1. Traductor de Baidu

1 appid = 'tu_appid'

2 clavesecreta = 'tu_clavesecreta'

3 url_baidu = ''

2 reg_text = re.compile(r'(?<=TRANSLATED_TEXT=).*?;')

3 user_agent = r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Gecko) ' \

4 r'Chrome/44.0.2403.157 Safari/537.36'

5

6 def traducirGoogle(texto , f='ja', t='zh-cn'):

7 valores = {'hl': 'zh-cn', 'ie': 'utf-8', ' text' : text, 'langpair': '%s|%s' % (f, t)}

8 valor = urllib.parse.urlencode(values)

9 req = urllib .request.Request(url_google + '?' + valor)

10 req.add_header('User-Agent', user_agent)

11 respuesta = urllib.request.urlopen (req )

12 contenido = respuesta.read().decode('utf-8')

13 datos = reg_text.search(contenido)

14 resultado = data.group(0).strip(';').strip('\'')

15 print(resultado)

Igual que los dos métodos anteriores, usarlo es en forma de visitar una página web para traducirla.

Otro método es utilizar el módulo de traducción de Google en Python Traductor:

1 def traducirGoogle2(texto):

2 resultado = traductor.translate(texto)

p>

3 imprimir(resultado)

4. Código de prueba

Proceso de prueba:

Traducir 5 cadenas en una unidad pequeña y generar Consume tiempo;

Hacer bucles 10 veces es una unidad grande y la salida consume tiempo;

He realizado muchas pruebas en cadenas de diferentes idiomas y el número de bucles, y descubrí que las situaciones son básicamente similares, así que aquí se selecciona 10 veces.

1 text_list = ['こんにちは', 'こんばんは', 'おはようございます', 'お久(やす)みなさい', 'お元気(げんき)ですか']

2

3 time_baidu = 0

4 time_youdao = 0

5 time_google = 0

6 time_google2 = 0

7

8 para i en lista(rango(1, 11)):

9 tiempo1 = time.time()

10 para texto en text_list:

11 traducirBaidu(texto)

12 tiempo2 = time.time()

13 imprimir('Tiempo de traducción de Baidu %s: %s ' % (i, tiempo2 - tiempo1))

14 time_baidu += (tiempo2 - tiempo1)

15

16 tiempo1 = tiempo.tiempo()

17 para texto en text_list:

18 traducirYoudao(texto)

19 tiempo2 = time.time()

20 imprimir (' Tiempo de traducción de Youdao %s: %s' % (i, tiempo2 - tiempo1))

21 time_youdao += (tiempo2 - tiempo1)

22

23 time1 = time.time()

24 para texto en text_list:

25 traducirGoogle(texto)

26 time2 = time.time ()

27 print('Google Translate %s tiempo: %s' % (i, tiempo2 - tiempo1))

28 time_google += (tiempo2 - tiempo1)

29

30 tiempo1 = time.time()

31 para texto en text_list:

32 traducirGoogle2(texto)

33 tiempo2 = time.time()

34 print('Traducción de Google 2 %s tiempo: %s' % (i, tiempo2 - tiempo1))

35 time_google2 += (tiempo2 - tiempo1 )

36

37

38 print('Tiempo de traducción de Baidu: %s' % (time_baidu / 10) )

39 print('Tiempo de traducción de Youdao: %s' % (time_youdao / 10))

40 print('Tiempo de traducción de Google: %s' % (time_google / 10 ))

41 print('Tiempo de traducción de Google 2: %s' % (time_google2 / 10))