リオラボ
icon

⑤Pythonでスクレイピングしたテキストを翻訳する方法

このブログではPythonを使ったスクレイピングを、初心者向けにサンプルコード付きで解説しています。以下に紹介する記事では、①から⑨のステップでスクレイピングの方法を学び、実践に役立てられるよう体系的にまとめています。

【①〜⑨まとめ】PythonでWebスクレイピングを実践する方法【サンプルコード付き】

【①〜⑨まとめ】PythonでWebスクレイピングを実践する方法【サンプルコード付き】

Posted on 9月 29, 2024 | Category: Python

このブログではPythonスクレイピングを初心者向けに解説していきます。順番に各記事で解説しており入門者向けです。サンプルコード付きで解説するので実践的…


この記事では取得したスクレイピングデータを翻訳したい場合に使える翻訳API関数を解説します。

Pythonで使える翻訳APIにはいくつかの選択肢がありますが、ほとんどの場合制限があったり、有料プランが存在したり、利用するために登録が必要だったりと面倒です。

ここではGoogleの翻訳API(googletransパッケージ)を使用して、指定されたテキストを指定の言語に翻訳する関数を紹介します。

なお、googletrans ライブラリは、Google Translateの非公式なPythonパッケージであり、
・Google側の文字数制限やリクエスト回数の制限がある
・5000文字以上は分割して翻訳する必要がある
・短期間に大量のリクエストを送るとブロックされる可能性がある
らしいです。非公式のため利用については各自ご判断ください。ここではあくまで参考として紹介しています。

 

翻訳API

 

以下、コード解説です。

・output_lang: 翻訳のデフォルト言語を設定(ここでは日本語 “ja”)。
・translate_text(): テキストを翻訳するための関数。
・text: 翻訳したい文字列。
・dest_language: 翻訳先の言語(指定がなければデフォルトで日本語)。
・Translator(): 翻訳を実行するクラスのインスタンス。
・translated_text = translator.translate(): テキストを指定された言語に翻訳。
・return translated_text.text: 翻訳された結果を返す。

 

実際に翻訳してみましょう。

 

引数には翻訳したい変数や、スクレイピング時に取得した要素を入力します。output_langをjaにしているので、元の言語を自動で検知し、日本語に翻訳してくれます。

 

 

日本語を外国語に翻訳したい場合、オプション引数に翻訳したい言語を入力します。これで日本語が英語になりました。

 

試しに少し長めの英文を翻訳してみましょう。

 

 

問題なく翻訳が出来ていますね。外国語のデータをスクレイピングする際、後で翻訳するのは面倒なので上記の翻訳API関数をデータ書き込み前に実施することで、日本語のデータが完成します。

ただし今回の方法は非公式なPythonパッケージなので、Google Cloud Translation APIなどを利用したほうがいいと思います。