見出し画像

【Google Apps Script】地方競馬のオッズをスクレイピング

中央競馬のオッズデータは去年公開した競馬ソフト『リアルタイムオッズEX』で取得することができます。

JRA-VAN Data Lab. では中央競馬のオッズデータしか提供していないため、残念ながら地方競馬のオッズデータは取得できません。

そこで今回は、Google Apps Script を使って netkeiba から地方競馬の単勝オッズを取得してみました。

コード

function scrapeTanshoOdds() {
  let race_id = "202254110511";
  let url = "https://nar.netkeiba.com/odds/index.html?type=b1&race_id=" + race_id;

  let response = UrlFetchApp.fetch(url);
  let content = response.getContentText("euc-jp");

  let tansho_table = Parser.data(content).from('class="RaceOdds_HorseList_Table"').to('</table>').build();

  let horse_name_array = Parser.data(tansho_table).from('<td class="Horse_Name">').to('</td>').iterate()
  let tansho_odds_array = Parser.data(tansho_table).from('<span class="Odds ">').to('</span>').iterate();

  for (let i = 0; i < horse_name_array.length; i++) {
    let horse_name = horse_name_array[i];
    let tansho_odds = tansho_odds_array[i];
    console.log(horse_name + ' : ' + tansho_odds);
  }
}

実行結果

複勝オッズなども上記コードを応用すれば取得できますし、取得した結果は Google スプレッドシートに出力しても良いですね。

この記事が気に入ったらサポートをしてみませんか?