http://nihongo.j-talk.comサイトのソースhtmlを見て、私はAPIを推測しました。
手順は次のとおりです。
1)日本語の文字列をwgetでサーバーに送信し、index.htmlで結果を取得します。
2)index.htmlを解析し、ローマ字文字列を抽出します。それは私にはかなり慣れているという理由だけで、私は、Perlでパーサを書いていますが、変更またはインデックスを読み取ることにより、他の言語に変換する -
:
#!/bin/bash
string="日本語は、主に日本で使われている言語である。日本では法規によって「公用語」として規定されているわけではないが、各種法令(裁判所法第74条、会社計算規則第57条、特許法施行規則第2条など)において日本語を用いることが定められるなど事実>上の公用語となっており、学校教育の「国語」でも教えられる。"
uniqid="46a7e5f7e7c7d8a7d9636ecb077da485479b66bc"
wget -N --post-data "uniqid=$uiqid&Submit='Translate Now'&kanji_parts=standard&kanji=$string&converter=spaced&kana_output=romaji" http://nihongo.j-talk.com/ > /dev/null 2>&1
perl -e '
$file = "index.html";
open(FH, $file) or die "$file: $!\n";
while (<FH>) {
if (/<div id=.spaced. class=.romaji.>(.+)/) {
($str = $1) =~ s/<.*?>//g;
$str =~ s/\&\#(\d+);/&utfconv($1)/eg;
print $str, "\n";
}
}
# utf16 to utf8
sub utfconv {
$utf16 = shift;
my $upper = ($utf16 >> 6) & 0b0001_1111 | 0b1100_0000;
my $lower = $utf16 & 0b0011_1111 | 0b1000_0000;
pack("C2", $upper, $lower);
}'
いくつかのコメント:ここ
は、サンプルコードです.htmlファイル。
- uniqid文字列は、私がサイトのhtmlソースから選んだものです。うまくいかない場合は、htmlソースに埋め込まれているものを確認してください。
これが役に立ちます。