Если вы хоть раз пытались прикрутить перевод текста к своему пет-проекту или парсеру, то знаете эту боль. Официальный Google Cloud Translation требует привязку карты и квоты, DeepL API — прекрасен, но дорог (и сложен в оплате из РФ), а писать свой скрапер для веб-морды переводчика — это гарантированный ад с генерацией токенов (tk), подписью запросов и постоянными отвалами верстки.
Но есть translators — библиотека, которая делает эту работу за вас.
Это агрегатор, который (по сути, методом реверс-инжиниринга) стучится в веб-интерфейсы более 30 переводческих сервисов.
Что под капотом:
1️⃣ Ассортимент. Кроме банальных Google/Bing/Yandex, там есть DeepL (лучшее качество для европейских языков), Baidu/Alibaba (для китайщины) и даже специфические штуки типа VolcEngine.
2️⃣ HTML-friendly. Функция
translate_html умеет переводить контент, не ломая структуру тегов. 3️⃣ Умный обход. Есть поддержка разных HTTP-клиентов:
requests, httpx, niquests и даже cloudscraper. Если один метод блокируют по фингерпринту, можно переключиться на другой прямо в аргументах.4️⃣ JS-магия. Библиотека сама выполняет нужный JavaScript (через
exejs) для генерации подписей запросов. Да, для этого в системе должен быть Node.js, но это малая плата за халяву.🧑💻 Как это выглядит в коде:
import translators as ts
text = "Python is a language for rebels."
# Используем движок Alibaba
print(ts.translate_text(text, translator='alibaba', to_language='ru'))
# Вывод: Python - это язык для повстанцев.
# Или DeepL (если IP не в бане)
print(ts.translate_text(text, translator='deepl', to_language='ru'))⚠️ Ложка дегтя (куда же без неё):
Это не решение для High-Load продакшена. Это скрапинг.
Вас будут банить по IP, если начнете долбить тысячи запросов в секунду (хотя в либе есть кэширование сессий
preaccelerate).API веб-интерфейсов могут меняться без предупреждения, и придется ждать обновления пакета.
Но для дата-аналитики, сбора датасетов, ботов или личных тулзов — хороший инструмент, который сэкономит кучу денег.
#годный_опенсорс
