1ページから複数の項目を取得
今回は、1ページから複数の項目を取得する方法を説明します。
Wikipediaさんから「1」を説明したページの目次1,2,3,4,5を出したいと思います。
https://ja.wikipedia.org/wiki/1
前回と同じように右クリックをし、ソースを覗きます。
目次の1で欲しいのは、「数としての1」という文字列部分です。検索すると出てきます。
<span class="tocnumber">1</span> <span class="toctext">数としての1</span
ここのタブ部分をとれば、目次1が取得できそうです。目次の2は、
<span class="tocnumber">2</span> <span class="toctext">数字としての1</span
を取得すれば、うまくいきそうです。同様に3,4,5のタブを取得していきます。
function myFunction() { //urlを指定 var url = 'https://ja.wikipedia.org/wiki/1'; //htmlソースを取得 var response = UrlFetchApp.fetch(url).getContentText(); //配列を初期化 var array = []; //取得する目次1のタブを指定 var Regexp = /<span class=\"tocnumber\">1<\/span> <span class=\"toctext\">([\s\S]*?)<\/span/; var mokuji1 = response.match(Regexp)[1]; array.push(mokuji1); //取得する目次2のタブを指定 var Regexp = /<span class=\"tocnumber\">2<\/span> <span class=\"toctext\">([\s\S]*?)<\/span/; var mokuji2 = response.match(Regexp)[1]; array.push(mokuji2);//配列に追加 //取得する目次3のタブを指定 var Regexp = /<span class=\"tocnumber\">3<\/span> <span class=\"toctext\">([\s\S]*?)<\/span/; var mokuji3 = response.match(Regexp)[1]; array.push(mokuji3);//配列に追加 //取得する目次4のタブを指定 var Regexp = /<span class=\"tocnumber\">4<\/span> <span class=\"toctext\">([\s\S]*?)<\/span/; var mokuji4 = response.match(Regexp)[1]; array.push(mokuji4);//配列に追加 //取得する目次5のタブを指定 var Regexp = /<span class=\"tocnumber\">5<\/span> <span class=\"toctext\">([\s\S]*?)<\/span/; var mokuji5 = response.match(Regexp)[1]; array.push(mokuji5);//配列に追加 Logger.log(array); }
長くなってしまいましたが、うまくいっています!