LoginSignup
4

More than 3 years have passed since last update.

Google Apps Scriptで作った無料翻訳APIを使う

Last updated at Posted at 2019-07-24

はじめに

初心者の備忘録です。
Pythonで翻訳できないかな~、Google Cloud Translationは有料か~、おっgoogletransとかいうモジュールがあるんか~→エラーが出て使えない...
こんな状況だったときに以下の記事を見つけました。
3 分で作る無料の翻訳 API with Google Apps Script

使い方

まず、記事の通りにウェブアプリケーションとして導入してURLが表示されるまで進めます。

アクセス方法は、 exec の後に ?text=翻訳したい文字列&source=翻訳前言語&target=翻訳後言語 を指定して GET リクエストする。

とあります。
試しに"cat"を翻訳してみました。
取得したURLはhttps://script.google.com/macros/s/AKfycbzPH7k0wm5QqP78MtGXt2cOZ_dR0X0G-jMxJODwZvQM3hG89Cct/exec
なので ?text=cat&source=en&target=ja を末尾に追加します。

アクセスしてソースを確認すると以下のようになっています。
cat_trans_html.jpg
"cat"が翻訳されて"ネコ"と表示されました。それ以外はなにもありません。

翻訳結果を取得する

GETリクエストを送ってページからデータを取得できます。
PythonではRequestsモジュールのrequests.get()でGETリクエストできます。
params=で指定することで取得するデータを決められますが、先ほど開いたページでは翻訳されたテキスト以外何もデータがないのでrequests.get()にURLだけを放り込んで全部取得します。

以下はhogeを受け取って、翻訳結果を返す関数です。

from Requests import get
def trans(hoge):
    trans_from = 'en'#翻訳元の言語(英語)
    trans_to = 'ja'  #翻訳先の言語(日本語)
    trans_url = (
        'https://script.google.com/macros/s/AKfycbzPH7k0wm5QqP78MtGXt2cOZ_dR0X0G-jMxJODwZvQM3hG89Cct/exec'
         + '?text=' + hoge + '&source=' + trans_from + '&target=' + trans_to
    )
    res = get(trans_url)
    translated_hoge = res.text
    return translated_hoge

returnの上2行でGETリクエストを送って、翻訳結果を取得しています。

    res = get(trans_url)
    print("res: {}" .format(res))                    #res: <Response [200]>
    translated_hoge = res.text
    print("res.text: {}" .foramt(translated_hoge))   #res.text: 翻訳された結果

getの戻り値はレスポンス内容が格納されたオブジェクトです。resを出力するとResponse [200]となります。
textという属性にページのhtmlが格納されているので、翻訳結果が欲しい場合はres.textとしなければなりません。

参考

  1. 3 分で作る無料の翻訳 API with Google Apps Script
  2. requestsの使い方 webサイトのデータを取得する

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4