こんにちは、Habr。 この記事は、この記事の続きです。 読む前に、これをやったことがない場合は読むことを強くお勧めします。
今日は以下を学びます:
- 集合農場ではあるが、複数の答えを得る方法
- Yandexトランスレーターをこれに接続する方法
- そして、彼がすべて間違ったことをユーザーに書く方法
API Yandexトランスレーター
Yandexトランスレータには優れたAPIがあり、これを使用します。
ドキュメントを慎重に検討し、戦いに入ります。 しかし、ここではYandexが豚を置きます。
翻訳結果を使用するための要件
Yandex.Translatorを使用するためのライセンスによれば、 translate.yandex.ruページへのアクティブリンクを含むYandex.Translatorサービスによって翻訳されたテキストは、転送結果の上または下に表示する必要があります。
テキストレイアウトの要件
テキストを指定する必要があります。
ソフトウェア製品の説明内。
ソフトウェア製品のヘルプ
ソフトウェア製品の公式Webサイト。
サービスデータが使用されるすべてのページまたは画面。
まあ、私たちは誇りに思う人々ではありません、私たちは生き残ります。
仕組み
ユーザーは私たちにメッセージを書き、フレーズをどの言語に翻訳したいかを尋ねます。 テキストの翻訳を依頼し、結果を送信した後。
技術的な実装
APIキーを
取得するこのライブラリを使用
しますfrom yandex_translate import YandexTranslate
第1部で説明したように、ロングポールをキックします。
if event.text == '':
例外とは何ですか?
例外-これは、エラーが発生した場合に実行され、そのことを通知するようなものです。 例外を処理するには、try-exceptコンストラクトを使用します。
このコンストラクトなしでコードを実装してみましょう。
-翻訳
-どの言語? 2文字で示します。
例:ロシア語-ru、英語-en
-en
-翻訳したいフレーズを入力してください
-こんにちはHabr
-Yandex.Translatorサービスtranslate.yandex.ruによる翻訳
['Hi Habr']
まあ、それは機能します。なぜあなたの例外が必要なのですか?
しかし、なぜ:
-翻訳
-どの言語? 2文字で示します。
例:ロシア語-ru、英語-en
-アブラカダブラ
-翻訳したいフレーズを入力してください
-こんにちはHabr
...
一方、コンソールでは:
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
そして例外を除いて:
-翻訳
-どの言語? 2文字で示します。
例:ロシア語-ru、英語-en
-アブラカダブラ
-翻訳したいフレーズを入力してください
-こんにちはHabr
-誤って入力された言語
私は試してみます-構成をより詳細に除いて:
try:
ウィキペディアAPIの例を示します。
try: result = str(wikipedia.summary(event.text)) except wikipedia.exceptions.PageError: print(' ') except wikipedia.exceptions.DisambiguationError: print('')
ご理解のとおり、いくつかの例外があります。
これで私はあなたに別れを告げます。 最高の