Здравствуйте! В сегодняшней статье создадим простой консольный переводчик на базе сервиса Google translate на Python при помощи модуля requests .

Отправляем запросы в googletranslate с Python и requests

Здравствуйте! В сегодняшней статье создадим простой консольный переводчик на базе сервиса Google translate на Python при помощи модуля requests.


import requests
# импорт библиотеки requests для выполнения HTTP-запросов

text_to_translate = input("Введите текст:")
# ввод текста для перевода пользователем

def translate_text(text, source_lang='ru', target_lang='en'):
    # функция для перевода текста с заданного языка на целевой язык
    url = "https://translate.googleapis.com/translate_a/single"
    # URL для запроса к Google Translate API
    params = {
        "client": "gtx",
        # клиент, использующий API
        "sl": source_lang,
        # исходный язык текста
        "tl": target_lang,
        # целевой язык перевода
        "dt": "t",
        # тип данных, которые запрашиваются (в данном случае текст)
        "q": text
        # текст, который необходимо перевести (убедитесь, что текст корректно закодирован в URL)
    }

    response = requests.get(url, params=params)
    # выполнение GET-запроса с указанными параметрами

    if response.status_code == 200:
        # проверка успешности запроса (код ответа 200)
        try:
            result = response.json()
            # попытка преобразовать ответ в формат JSON
            translated_text = result[0][0][0]
            # получение переведенного текста из ответа JSON

            return translated_text
            # возврат переведенного текста
        except (IndexError, ValueError, TypeError) as e:
            # обработка возможных ошибок при парсинге ответа
            print(f"Error parsing translation response: {e}")
            # вывод сообщения об ошибке
            print("Response content:", response.content)
            # вывод содержимого ответа для отладки
            return None
            # возврат None в случае ошибки
    else:
        # если запрос завершился с ошибкой (код ответа не 200)
        print(f"Error with status code: {response.status_code}")
        # вывод сообщения об ошибке с кодом ответа
        print("Response content:", response.content)
        # вывод содержимого ответа для отладки
        return None
        # возврат None в случае ошибки

translated_text = translate_text(text_to_translate)
# вызов функции для перевода текста
print(f"Translated text: {translated_text}")
# вывод переведенного текста


Таким образом, посылая запрос на сервис мы получаем интересующий нас перевод, и все это при помощи Python и модуля requests.