Отправляем запросы в 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.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.