🏴‍☠️ Textübersetzung: kostenlos, wütend und ohne API-Schlüssel

Wenn Sie jemals versucht haben, eine Textübersetzung in Ihr Hobbyprojekt oder Ihren Parser einzubauen, kennen Sie den Schmerz. Offizielles Google Cloud Translation erfordert Kartenverknüpfung und Kontingente, DeepL API ist großartig, aber teuer (und in Russland schwer zu bezahlen), und einen eigenen Scraper für die Web-Oberfläche des Übersetzers zu schreiben, ist garantiert die Hölle mit Token-Generierung (tk), Signierung von Anfragen und ständigen Layout-Ausfällen.
Aber es gibt translators – eine Bibliothek, die diese Arbeit für Sie erledigt.
Es ist ein Aggregator, der (im Wesentlichen durch Reverse Engineering) auf die Weboberflächen von über 30 Übersetzungsdiensten zugreift.

Was unter der Haube steckt:

1️⃣ Sortiment. Neben den üblichen Google/Bing/Yandex gibt es DeepL (beste Qualität für europäische Sprachen), Baidu/Alibaba (für Chinesisch) und sogar spezielle Dinge wie VolcEngine.

2️⃣ HTML-freundlich. Die Funktion translate_html kann Inhalte übersetzen, ohne die Tag-Struktur zu beschädigen.

3️⃣ Intelligente Umgehung. Es gibt Unterstützung für verschiedene HTTP-Clients: requests, httpx, niquests und sogar cloudscraper. Wenn eine Methode aufgrund des Fingerabdrucks blockiert wird, kann man direkt in den Argumenten auf eine andere umschalten.

4️⃣ JS-Magie. Die Bibliothek führt selbst das erforderliche JavaScript (über exejs) aus, um Anfragesignaturen zu generieren. Ja, dafür muss Node.js auf dem System installiert sein, aber das ist ein geringer Preis für die Gratisnutzung.

🧑‍💻 Wie sieht das im Code aus:

import translators as ts

text = "Python is a language for rebels."

# Alibaba-Engine verwenden
print(ts.translate_text(text, translator='alibaba', to_language='de'))
# Ausgabe: Python ist eine Sprache für Rebellen.

# Oder DeepL (wenn IP nicht gesperrt)
print(ts.translate_text(text, translator='deepl', to_language='de'))


⚠️ Wermutstropfen (den gibt es immer):
Dies ist keine Lösung für High-Load-Produktion. Es ist Scraping.
Sie werden nach IP gesperrt, wenn Sie Tausende von Anfragen pro Sekunde senden (obwohl die Bibliothek Sitzungs-Caching mit preaccelerate bietet).
Die APIs der Weboberflächen können sich ohne Vorwarnung ändern, und Sie müssen auf ein Update des Pakets warten.

Aber für Datenanalyse, Datensatzerstellung, Bots oder persönliche Tools ist es ein gutes Werkzeug, das eine Menge Geld spart.

#nützlicher_opensource