Googleスプレッドシートのimportxml関数で2つの越越辞書を自動取得して比較
過去に何度かGoogleスプレッドシートのimportxml関数を使った記事を書いた。 今回も同様にWeb上で使える辞書を自動検索してスプレッドシートに取り込もうというのが趣旨。 当初はWiktionaryをAPIで呼び出す計画であった。 しかし、やってみると意外と苦戦した。 WiktionaryはWikipediaAPIと同じ仕様なので記事タイトルなどは簡単に取得できたが、記事の内容は構造が複雑で、単語によって構造が違う為一律のルールで取得する事は出来なかった。 なので、Wiktionaryからデータを取得するのは諦めた。 その後はベトナム語の辞書サイトでviệt-việt (ベトベト、越越)があるサイトを一つずつ取り込めるか試していった。 結果、2つのサイトから取り込むことが出来た。 なんで越日(ベトナム語→日本語)ではなく越越(ベトナム語→ベトナム語)辞書なのかというと、越日の場合、収録語数が少ないからである。 ただ越越辞書を取得するだけでは面白くないのでGoogleスプレッドシートのgoogletranslate関数で同時に日本語訳を表示するようにした。 ここでは、以前作成した自作関数ではなく、Googleスプレッドシート標準の翻訳関数を用いている。 正直、標準の翻訳関数は翻訳精度が低いので精度の改善のためには以前作成した翻訳関数を使うか、みんなの自動翻訳を呼び出す新しい関数を作るべきだと思う。 だが、まぁ越越辞書を頑張って読むのも勉強になるから日本語訳は補足だと思えばそれほど翻訳精度を気にする必要はない。 辞書サイトを直接使ってももちろん調べられるのだけど、2つの辞書サイトから自動取得することで、一回の検索で2種類の説明が見られること、自動で日本語訳も出るので、意味がわからないときの補足になる事が多少のメリットであろうか。 今回ちょっと苦労したのはサイトによっては例文が異なるhtml構造になっていて、その為にxpathを複数記述する必要があったこと。 まぁxpathの複数記述は以前のimportxml関数の記事でも書いたと思うのでここであんまり記してもしょうがないのだけど、2つのimportxml関数はこのように記述した。 #1 =IMPORTXML("http://tratu.coviet.vn/hoc-tieng-anh/tu-dien/l...