En nuestra vida diaria y en nuestro trabajo, a menudo necesitamos utilizar herramientas de traducción. Entre muchas herramientas de traducción, personalmente prefiero Google Translate, por lo que aquí hay tres formas de llamar a la interfaz de Google Translate a través de Python.
Método 1
solicitudes de importación
def traducir_1(texto, src_lang='auto', to_lang='en'):
googleapis_url = 'https://translate.googleapis.com/translate_a/single'
url = '%s?client=gtx&sl=%s&tl=%s&dt=t&q=%s' % (googleapis_url,src_lang,to_lang,text)
datos = solicitudes.get(url).json()
res = ''.join([s[0] para s en datos[0]])
Devolver res
Método 2
#pip instalar bs4
solicitudes de importación
desde bs4 importar BeautifulSoup
def traducir_2(texto, src_lang='auto', to_lang='en'):
url = 'https://translate.google.cn/m?q=%s&tl=%s&sl=%s' % (texto,to_lang,src_lang)
sopa = BeautifulSoup(solicitudes.get(url).text,'lxml')
res = sopa.find('div',{'clase':'contenedor-resultados'}).text
Devolver res
Método 3
# pip instalar googletrans==4.0.0-rc1
del traductor de importación de googletrans
def traducir_3(texto, src_lang='auto', to_lang='en'):
Traductor = Traductor(service_urls=['translate.google.cn'])
res = traductor.translate(texto, destino=a_lang, src=src_lang).text
Devolver res
Visualización de resultados de ejecución

Obtenga todos los idiomas y sus codificaciones correspondientes
solicitudes de importación
desde bs4 importar BeautifulSoup
def get_all_langcode():
Respuesta = request.get(url='https://translate.google.cn')
sopa = BeautifulSoup(respuesta.texto,'lxml')
res_dict = {}
para res en sopa.find_all('div',{'class':'qSb8Pe'}):
res_dict[res['data-language-code']] = res.find('div',{'class':'Llmcnf'}).text
Devolver res_dict
{
'auto': 'Detectar idioma',
'sq': 'albanés',
'ar': 'árabe',
'soy': 'amárico',
'como': 'asamés',
'az': 'azerbaiyano',
'ee': 'oveja',
'ay': 'aymara',
'ga': 'irlandés',
'et': 'estonio',
'o': 'Oriya',
'om': 'Oromo',
'eu': 'vasco',
'be': 'bielorruso',
'bm': 'Bambara',
'bg': 'búlgaro',
'es': 'islandés',
'pl': 'polaco',
'bs': 'bosnio',
'fa': 'persa',
'bho': 'Bhojpuri',
'af': 'booleano (afrikáans)',
'tt': 'tártaro',
'da': 'danés',
'de': 'alemán',
'dv': 'Dhivehi',
'ti': 'Tigniano',
'doi': 'Perro Laiyu',
'ru': 'ruso',
'fr': 'francés',
'sa': 'sánscrito',
'tl': 'filipino',
'fi': 'finlandés',
'fy': 'frisón',
'km': 'jemer',
'ka': 'georgiano',
'gom': 'lenguaje Gonggen',
'gu': 'gujarati',
'gn': 'guaraní',
'kk': 'kazajo',
'ht': 'criollo haitiano',
'ko': 'coreano',
'ja': 'Hausa',
'nl': 'holandés',
'ky': 'kirguís',
'gl': 'gallego',
'ca': 'catalán',
'cs': 'checo',
'kn': 'Canarés',
'co': 'corso',
'kri': 'criollo',
'hr': 'croata',
'qu': 'quechua',
'ku': 'kurdo (Kurmanji)',
'ckb': 'kurdo (sorani)',
'la': 'latín',
'lv': 'letón',
'lo': 'Lao',
'lt': 'lituano',
'ln': 'lingala',
'lg': 'Luganda',
'lb': 'luxemburgués',
'rw': 'Riwanda',
'ro': 'rumano',
'mg': 'malgasiano',
'mt': 'maltés',
'señor': 'maratí',
'ml': 'Malayalam',
'ms': 'malayo',
'mk': 'macedonio',
'mai': 'Maitili',
'mi': 'maorí',
'mni-Mtei': 'Mtei (Manipur)',
'mn': 'mongol',
'bn': 'bengalí',
'lus': 'Mizo',
'mi': 'birmano',
'hmn': 'Miao',
'xh': 'xhosa sudafricano',
'zu': 'zulú sudafricano',
'ne': 'nepalí',
'no': 'noruego',
'pa': 'punjabí',
'pt': 'portugués',
'ps': 'pashtún',
'ny': 'chichewa',
'ak': 'Twi',
'ja': 'japonés',
'sv': 'sueco',
'sm': 'samoano',
'sr': 'serbio',
'nso': 'Sepeti',
'st': 'Sesoto',
'si': 'cingalés',
'eo': 'esperanto',
'sk': 'eslovaco',
'sl': 'esloveno',
'sw': 'suajili',
'gd': 'gaélico escocés',
'ceb': 'cebuano',
'so': 'somalí',
'tg': 'tayiko',
'te': 'telugu',
'ta': 'Tamil',
'th': 'tailandés',
'tr': 'turco',
'tk': 'turcomano',
'cy': 'galés',
'ug': 'uigur',
'ur': 'urdu',
'uk': 'ucraniano',
'uz': 'uzbeko',
'es': 'español',
'iw': 'hebreo',
'el': 'griego',
'haw': 'hawaiano',
'sd': 'Sindhi',
'hu': 'húngaro',
'sn': 'lenguaje Shuna',
'hy': 'armenio',
'ig': 'igbo',
'ilo': 'Ilocano',
'eso': 'italiano',
'yi': 'yídish',
'hola': 'hindi',
'su': 'sundanés indonesio',
'id': 'indonesio',
'jw': 'javanés',
'en': 'inglés',
'yo': 'yoruba',
'vi': 'vietnamita',
'zh-TW': 'chino (tradicional)',
'zh-CN': 'chino (simplificado)',
'ts': 'Zonga'
}