スクレイピングで抽出対象に同名タグが含まれており適切な抽出が行えないときの対処法

実現したいこと

  • Google Apps Script を用いたスクレイピング

前提

https://www.ldoceonline.com/dictionary/dictionary
こちらのオンライン辞書から、単語の発音記号をスクレイピングで抽出したいと考えています。
今回は例としてdictionaryという単語について行っています。

このサイトで発音記号に関するHTML構造は次のようになっています。

html

1<span class="PRON">2 ˈdɪkʃən<span class="i">ə</span>ri 3</span>

ここから、dɪkʃənəri だけを抽出したいです。

そこで、ひとまず次のようなコードを書いて、
<span class="PRON">ˈdɪkʃən<span class="i">ə</span>ri</span>
を抽出しようとしました。

JavaScript

1function main() {2 let word = "dictionary";3 let url = "https://www.ldoceonline.com/dictionary/";4 let response = UrlFetchApp.fetch(url + word);5 let text = response.getContentText("utf-8");6 7 let ipa = Parser.data(text)8 .from('class="PRON"')9 .to('</span>')10 .build();11 12 console.log(ipa);13}

しかしながら、当然ですが、得られる出力は

<span class="PRON">ˈdɪkʃən<span class="i">ə

となってしまいます。今回のような、同名のタグが抽出したい要素の中に複数回含まれる場合、どのようにすれば目的の出力を得ることができるのか教えていただきたいです。

よろしくおねがいします。

コメントを投稿

0 コメント