翻訳できた。
成果物
Python.Google.Translate.201709161249
参考
サーバ負荷に気をつけ、慎ましく使ってみる。
import sys import requests url = "https://translate.google.com/translate_a/single" headers = { "Host": "translate.google.com", "Accept": "*/*", "Cookie": "", "User-Agent": "GoogleTranslate/5.9.59004 (iPhone; iOS 10.2; ja; iPhone9,1)", "Accept-Language": "ja-jp", "Accept-Encoding": "gzip, deflate", "Connection": "keep-alive", } sentence = "My name is Ann. " params = { "client": "it", "dt": ["t", "rmt", "bd", "rms", "qca", "ss", "md", "ld", "ex"], "otf": "2", "dj": "1", "q": sentence, "hl": "ja", "ie": "UTF-8", "oe": "UTF-8", "sl": "en", "tl": "ja", } res = requests.get( url=url, headers=headers, params=params, ) print(res.status_code) res = res.json() print(res["sentences"][0]["trans"])
$ python translate.py 200 私の名前はアンです。
コードを読むかぎり、以下の項目が本質か。
項目 | 説明 |
---|---|
sentence |
翻訳対象テキスト |
params['sl'] |
翻訳対象テキストの言語。source_language, sentence_language, 等の略と思われる。 |
params['tl'] |
どの言語に翻訳したいか。 |
間違って連続実行してしまったとき、ループさせてしまったときなど、2秒間sleepがあるので異常なサーバ負荷にはならないはず。
疑問
他のAPIは?
ローカルでやりたい
Web通信不要なのはイザというとき頼もしい。
自前実装はかなり大変そうだが面白そう。
所感
とりあえず、これをもう少し使いやすい形にしたい。