・環境
windows 11
・DeepL APIのアカウント登録
APIを使うために以下のサイトで、アカウント登録をします
下のほうにある無料アカウントに登録します
一か月あたりの利用する文字数などに制限がありますが、お試しなら十分だと思います
メールアドレスなどを登録すれば、最後にDeepL APIキーが取得できますので、コピーしておきます
・コード作成
それでは、pythonコードを書いていきます
まずは、テキストファイル(txt形式)の英語のテキストを日本語に翻訳してみたいと思います
コード全体を以下に記載します
import requests
import os
from dotenv import load_dotenv
load_dotenv()
DEEPL_API_KEY=os.environ["DEEPL_API_KEY"]
text_path=r"G:\マイドライブ\text\sample_audio.txt"
with open(text_path, encoding='utf-8') as f:
text = f.read()
params = {
"auth_key": DEEPL_API_KEY,
"text": text,
"source_lang": 'EN',
"target_lang": 'JA'
}
request = requests.post("https://api-free.deepl.com/v2/translate", data=params)
result = request.json()
text_ja=result["translations"][0]["text"]
print(text_ja)
with open(r"G:\マイドライブ\text\sample_text_ja.txt", "w") as text_file:
text_file.write(text_ja)
詳細を解説していきます
必要なライブラリをimportします
入っていない方はインストールしてください
import requests
import os
from dotenv import load_dotenv
dotenvを使って、APIキーを.envファイルから読み込みます
dotenvの使い方は以前の記事で紹介していますので、参考にしてください
load_dotenv()
DEEPL_API_KEY=os.environ["DEEPL_API_KEY"]
次にテキストファイルのパスを指定して、with open を使ってファイルを開き、textに代入します
テキストファイルの作成方法として、以前の記事で、youtubeの動画から文字起こしをしてテキストファイルにする方法を紹介していますので参考にしてください
t_path=r"G:\マイドライブ\text\sample_audio.txt"
with open(t_path, encoding='utf-8') as f:
text = f.read()
APIで送るパラメーターを指定します
“source_lang” には入力ファイルの言語を指定して、”target_lang” には出力する言語を指定します
params = {
"auth_key": DEEPL_API_KEY,
"text": text,
"source_lang": 'EN',
"target_lang": 'JA'
}
APIでリクエストするURLを指定します
request = requests.post("https://api-free.deepl.com/v3/translate", data=params)
出力されるデータは以下のようなJSON形式で出力されます
{
"translations": [
{
"detected_source_language": "{認識した翻訳元文字列の言語}",
"text": "{翻訳結果}"
}
]
}
結果をJSON形式で開きます
JSON形式のtextを変数text_jaに格納して、print文で表示します
result = request.json()
text_ja=result["translations"][0]["text"]
print(text_ja)
最後に、翻訳後のテキストを別のテキストファイルとして保存します
with open(r"G:\マイドライブ\text\sample_text_ja.txt", "w") as text_file:
text_file.write(text_ja)
これで、DeepL APIを使って、テキストの翻訳が簡単にできました
ほぼ無料で使えて、英語の動画をwhisperを使ってテキストにした後や、PDFをテキスト抽出した後の作業に使えると思いますので、ぜひ活用してみてください
コメント