カールなどを使用してGoogle翻訳で翻訳された文字列を取得するには?

カールなどを使用してGoogle翻訳で翻訳された文字列を取得するには?

カールなどのコマンドラインツールを使用して、Google翻訳で翻訳された文字列(英語からスペイン語など)をどのように取得できますか?ページソースを見ましたが、Google翻訳では結果が画面にレンダリングされますが、HTMLソースに翻訳結果が含まれていないようです。だから

 curl "https://translate.google.com/#auto/es/stay%20calm"

動作しませんでした。元の文字列や翻訳された文字列ではなく、HTMLソースコードのみを提供しました。そして彼らのAPIは無料ではないので、使用したくないと聞きました。 Microsoft翻訳サービスもあると聞きましたが、可能であればGoogle翻訳サービスを引き続き利用したいと思います。

答え1

あなたはあなたのからこれを行うことができます~/.bashrc

function gtr {
  sl=en
  tl=$1
  shift
  base_url="https://translate.googleapis.com/translate_a/single?client=gtx&sl=$sl&tl=$tl&dt=t&q="
  ua='Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0'
  qry=$( echo "$*" | sed -e "s/\ /+/g" )
  full_url=$base_url$qry
  response=$(curl -sA "$ua" "$full_url")
  echo "$response" | sed 's/","/\n/g' | sed -E 's/\[|\]|"//g' | head -1
}
使用法
$: gtr es hi this is a test 
Hola esto es una prueba

源泉

関連情報