Grüße, Habr. Dieser Artikel ist eine Fortsetzung
dieses Artikels. Ich empfehle dringend, dass Sie es vor dem Lesen lesen, wenn Sie dies noch nicht getan haben.
Heute wirst du lernen:
- Wie man mehr als eine Antwort bekommt, wenn auch Kollektivfarm
- So verbinden Sie einen Yandex-Übersetzer damit
- Und wie man dem Benutzer schreibt, dass er alles falsch gemacht hat
Api Yandex Übersetzer
Yandex Übersetzer hat eine gute API und wir werden es verwenden. Wir studieren die
Dokumentation sorgfältig und ziehen in die Schlacht. Aber hier bringt uns Yandex ein Schwein.
Anforderungen für die Verwendung von Übersetzungsergebnissen
Gemäß der Lizenz zur Nutzung von Yandex.Translator muss der vom Yandex.Translator-Dienst übersetzte Text mit einem aktiven Link zur Seite translate.yandex.ru über oder unter dem Übersetzungsergebnis angegeben werden.
Anforderungen an das Textlayout
Der Text sollte angegeben werden:
in der Beschreibung des Softwareprodukts;
Hilfe für ein Softwareprodukt
auf der offiziellen Website des Softwareprodukts;
auf allen Seiten oder Bildschirmen, auf denen Servicedaten verwendet werden.
Nun, wir sind keine stolzen Menschen, wir werden überleben.
Wie funktioniert es?
Der Benutzer schreibt uns eine Nachricht, wir fragen, in welche Sprache er die Phrase übersetzen möchte. Nachdem wir den zu übersetzenden Text angefordert haben, senden wir das Ergebnis.
Technische Umsetzung
Holen Sie sich den API-Schlüssel
Wir benutzen
diese Bibliothekfrom yandex_translate import YandexTranslate
Wir treten Longpoll, wie ich im 1. Teil beschrieben habe.
if event.text == '':
Was sind Ausnahmen und was essen sie?
Ausnahmen - dies ist so etwas, dass im Fehlerfall läuft und uns davon erzählt. Verwenden Sie das Try-Except-Konstrukt, um Ausnahmen zu behandeln.
Versuchen wir, unseren Code ohne dieses Konstrukt zu implementieren.
-Übersetzung
-Welche Sprache? In zwei Buchstaben angeben.
Zum Beispiel: Russisch - ru, Englisch - en
-en
-Geben Sie die Phrase ein, die Sie übersetzen möchten
-Hi Habr
-Übersetzt vom Yandex.Translator-Dienst translate.yandex.ru
['Hi Habr']
Nun, es funktioniert und warum brauchen wir Ihre Ausnahmen?
Aber warum:
-Übersetzung
-Welche Sprache? In zwei Buchstaben angeben.
Zum Beispiel: Russisch - ru, Englisch - en
-abracadabra
-Geben Sie die Phrase ein, die Sie übersetzen möchten
-Hi Habr
...
In der Zwischenzeit in der Konsole:
Traceback (most recent call last): File "C:\Py_trash\habrex.py", line 112, in <module> main() File "C:\Py_trash\habrex.py", line 78, in main trResult = translate.translate(event.text, trFrom + '-' + trTo) File "C:\Users\Hukuma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\yandex_translate\__init__.py", line 150, in translate raise YandexTranslateException(status_code) yandex_translate.YandexTranslateException: None
Und mit Ausnahmen:
-Übersetzung
-Welche Sprache? In zwei Buchstaben angeben.
Zum Beispiel: Russisch - ru, Englisch - en
-Abracadabra
-Geben Sie die Phrase ein, die Sie übersetzen möchten
-Hi Habr
- Falsch eingegebene Sprache
Ich werde mir den Versuch ansehen - außer das Konstrukt genauer:
try:
Ich werde ein Beispiel mit Wikipedia API geben:
try: result = str(wikipedia.summary(event.text)) except wikipedia.exceptions.PageError: print(' ') except wikipedia.exceptions.DisambiguationError: print('')
Wie Sie verstehen, kann es mehrere Ausnahmen geben.
Dazu verabschiede ich mich von dir. Alles Gute