Как в Python использовать API переводчика Яндекс?

Как можно использовать переводчик Яндекс в Python без проблем, если библиотека deep-translator вызывает ошибку ERR_KEY_INVALID при передаче ключа через параметр api_key? Возможно, есть другие библиотеки с лучшей совместимостью или есть способ передать ключ по-другому?
  • 20 февраля 2024 г. 10:08
Ответы на вопрос 2
Для работы с API переводчика Яндекс в Python можно воспользоваться библиотекой requests, которая позволяет делать HTTP запросы и работать с API. 

Пример использования API переводчика Яндекс с помощью requests:

```python
import requests

url = 'https://translate.yandex.net/api/v1.5/tr.json/translate'
api_key = 'YOUR_API_KEY'
text = 'Hello, world!'
lang = 'en-ru'

params = {
    'key': api_key,
    'text': text,
    'lang': lang
}

response = requests.get(url, params=params)
translated_text = response.json()['text'][0]

print(translated_text)
```

Для получения ключа API переводчика Яндекс необходимо зарегистрироваться на сайте Яндекс.Для этого нужно создать новое приложение и получить ключ API. Ключ нужно будет указать в переменной api_key в коде выше.

Если библиотека deep-translator вызывает ошибку при передаче ключа через параметр api_key, можно попробовать использовать другую библиотеку, например, googletrans. Эта библиотека также позволяет работать с API переводчика Google и может быть более удобной в использовании.

Пример использования googletrans для перевода текста с английского на русский:

```python
from googletrans import Translator

translator = Translator()
translated_text = translator.translate('Hello, world!', dest='ru').text

print(translated_text)
```

Если все равно хотите использовать deep-translator, можно попробовать передать ключ API через переменную окружения. Для этого можно использовать библиотеку python-dotenv для удобного управления переменными окружения:

```
pip install python-dotenv
```

Создайте файл .env в корневой директории вашего проекта и добавьте ключ API:

```
API_KEY=YOUR_API_KEY
```

И в коде использовать переменную окружения для получения ключа:

```python
import os
from deep_translator import GoogleTranslator

api_key = os.getenv('API_KEY')
translator = GoogleTranslator(api_key=api_key)
translated_text = translator.translate('Hello, world!', to_lang='ru')

print(translated_text)
```

Надеюсь, это поможет вам успешно использовать API переводчика Яндекс или других сервисов в Python.
https://ramziv.com/article/4?ysclid=lsup81h25o622799937 расписывает как это сделать на вполне свежей версии api https://yandex.com/dev/translate/doc/en/reference/... 

если нужна прям библиотека, то попробуй https://pypi.org/project/yandex-translater/ раньше он точно у меня работал
Похожие вопросы