Yandex Translate API создания переводчика на Python

Статьи

Yandex Translate API создания переводчика на Python

Автор: Рамис, 26 сентября 2019

⚠ Предупреждение:

Яндекс приостановили выдачу ключей для бесплатного использования API Переводчика, поэтому прошу сюда API Google Translate перевод текста на Python

API Яндекс.Переводчик

С помощью API можно получить доступ к онлайн-сервису машинного перевода Яндекса. Он поддерживает более 90 языков и умеет переводить отдельные слова и целые тексты. Этот API позволяет встроить Яндекс.Переводчик в мобильное приложение или веб-сервис для конечных пользователей. Или же переводить большие объёмы текста — например, техническую документацию.

Как работает Яндекс.Переводчик

Как только пользователь вводит текст для перевода, Яндекс.Переводчик передает этот текст сразу двум системам: и нейронной сети, и статистическому переводчику.

яндекс переводчик

Получаем API Ключ

Авторизовываемся на сайте Яндекс, переходим по ссылке на страницу для разработчиков, нажимаем создать новый ключ, и радуемся :) Выглядеть он будем примерно так:

trnsl.1.1.20190924T114701Z.6515eb42f84cfec7.cd06f2d928f870b8b0d111...

Python код

Для работы с HTTP запросами будем использовать мощщщную библиотеку requests.

Код:

import requests
def transfer(mytext):
    key = 'API KEY' # API KEY
    data = {'lang':'ru',
        'key':key,
        'text':mytext, 
        'format':'plain'
        }  # Параметры запроса
    r = requests.post('https://translate.yandex.net/api/v1.5/tr.json/translate', data = data).json() # POST запрос
    r['mytext'] = mytext # Добавим наш текст
    return r # ответ

print(transfer('Hello, i love Python'))
print('Статус: ', transfer('Hello, i love Python')['code'])
print('Наш текст: ', transfer('Hello, i love Python')['mytext'])
print('Перевод текста: ', transfer('Hello, i love Python')['text'][0])

Ответ:

{'code': 200, 'lang': 'en-ru', 'text': ['Привет, я люблю питон'], 'mytext': 'Hello, i love Python'}
Статус:  200
#Наш текст:  Hello, i love Python
#Перевод текста:  Привет, я люблю питон

Параметры POST запроса:

  • key Ваш API Ключ.
  • text Текст, который необходимо перевести.
  • lang язык перевода. (Поддерживаемые языки найдете ниже)

В виде пары кодов языков («с какого»-«на какой»), разделенных дефисом. Например, en-ru обозначает перевод с английского на русский.

В виде кода конечного языка (например ru). В этом случае сервис пытается определить исходный язык автоматически

  • format Формат текста.

plain : текст без разметки (значение по умолчанию)

html : текст в формате HTML

Коды ответов:

яндекс переводчик коды

⚠ Ограничения:

  • Для POST-запросов максимальный размер передаваемого текста составляет 10 000 символов.
  • В GET-запросах ограничивается не размер передаваемого текста, а размер всей строки запроса, которая кроме текста может содержать и другие параметры.
  • Максимальный размер строки — от 2 до 10 КБ (зависит от версии используемого браузера).

Поддерживаемые языки:

яндекс переводчик языки

Для завершения :)

import requests
def transfer(mytext):
    key = 'API KEY'
    data = {'lang':'ru',
            'key':key,
            'text':mytext, 
            'format':'plain'
            } 
    r = requests.post('https://translate.yandex.net/api/v1.5/tr.json/translate', data = data).json()
    if r['code'] == 200:
        return r['text'][0]
    else:
        return 'error'

while True:
    text = input('Введите текст: ')
    print('Перевод: ',transfer(text))

python переводчик

Комментарии

Markdown
Войти

Меню

Объявление

Нашли на сайте баг OR ошибку OR фичу? Прошу Вас сообщить мне через обратную связь, или комментарий.

Есть идеи для сайта? Свяжитесь со мной через форму обратной связи. Наш разработчик всегда рад готов добавить что то новое.