スクレイピング先サイトまとめ - poi-ai/keibaAI GitHub Wiki

工事中。。。

概要

モデル構築のためのデータ取得可能なサイトについてのまとめページ

JRA

リアルタイムオッズ取得PGで採用。 リアルタイムの出走馬データ取得PGでも採用予定。(ただし、過去の出走馬データはnetkeibaから取得するため要検討(騎手、調教師等、表記揺れ特徴量のnetkeiba⇔JRA相互変換PGが新たに必要になる)

メリット

  • 公式
  • オッズ・馬体重等のデータの更新が最速
  • データ欠損なし
  • データ量が豊富

デメリット

  • 地方競馬のデータが取れない(当たり前)
  • URLでページを一意に定められないため、GUIで辿れる範囲でしかデータ取得ができない。
  • 数百回に一回、空レスポンスがくる

URL

  • トップ
    • URL:https://www.jra.go.jp
  • 出馬表関連ページ
    • URL:https://www.jra.go.jp/JRADB/accessD.html
    • リクエスト:POST
    • パラメータ:補足に記載
  • オッズ関連ページ
    • URL:https://www.jra.go.jp/JRADB/accessO.html
    • リクエスト:POST
    • パラメータ:補足に記載

補足

↑のURL+JRA独自のPOSTパラメータの組み合わせによって遷移が可能。 パラメータに規則性はありそうだが、チェックディジットも混ざっており、導出方法が不明のため、特定のレースに対し直接アクセスをかけることは不可能。(ググっても特定している人はいなかった) トップページから辿ることができる今週のレース出馬表やオッズに関しては、Seleniumでボタン押下か、requestsでHTML取得後にパラメータを読み取れば遷移が可能。

データ取得可能期間

  出馬表:2000年1月5日~   オッズ:2000年1月5日~ レース結果:2000年1月5日~

keiba.go.jp

他サイトより取得しづらいため、現状本リポジトリでの使用はなし。 いずれ、リアルタイムのオッズ取得のリカバリ先として作るかも。

メリット

  • 公式
  • オッズ・馬体重等のデータの更新が最速
  • レースIDが一意なため特定のレースの取得が可能

デメリット

  • オッズデータが直近5日しか取れない
  • 他サイトに比べ、あまりクラス付きタグで区切られていないためPG作るのに時間かかる
  • 中央競馬のデータが取れない(当たり前)

URL

  • トップ
    • URL:https://www.keiba.go.jp
  • 出馬表
    • URL:https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/DebaTable
    • リクエスト:GET
    • GETパラメータ
      • 必須
        • k_raceDate:対象レース年月日(YYYYmmdd型でY,m,dの間に%2fが必要)
        • k_raceNo:右方0埋めなしの対象レース番号(xxR)
        • k_babaCode:keiba.go独自の競馬場コード(参照:競馬場コード)
  • オッズ
    • URL: https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/ + URLパラメータ
    • URLパラメータ
      • OddsTanFuku:単勝・複勝
      • OddsWakuLenFukuTan:枠連・枠単
      • OddsUmLenFuku:馬連
      • OddsUmLenTan:馬単
      • OddsWide:ワイド
      • Odds3LenFuku:三連複
      • Odds3LenTan:三連単
    • GETパラメータ
      • 必須
        • k_raceDate:対象レース年月日(YYYYmmdd型でY,m,dの間に%2fが必要)
        • k_raceNo:右方0埋めなしの対象レース番号(xxR)
        • k_babaCode:keiba.go独自の競馬場コード(参照:競馬場コード)
      • 任意
        • odds_flg:データの並び順(xxのみ)
          • 指定なし:人気順
          • 4:馬番順(推奨、全通り取得可)

データ取得可能期間

  出馬表:1998年1月1日~   オッズ:直近5日間 レース結果:1998年1月1日~

netkeiba

公式と遜色ないデータの種類数、取得可能期間の多さがある。 過去データを取得するPGではほぼnetkeibaを使用。 ただ、リアルタイムのデータ取得に関しては、無料で取るには絶望的な遅さのため未使用。

メリット

  • 中央・地方両データ取得可
  • 馬柱フォーマットが中央・地方で統一
  • データの種類数が公式と遜色ない

デメリット

  • リアルタイムデータの反映が遅い
  • リアルタイムオッズの更新回数に制限あり(有料で制限取っ払っても公式より遅い・少ない)
  • データ欠損が目立つので適宜対応が必要(年10レース程度)
  • 中途半端にJSが使用されているのでライブラリがそのまま使えないことがある

URL

  • トップ:https://netkeiba.com/
  • 中央競馬
    • 出馬表
      • URL:https://race.netkeiba.com/race/shutuba_past.html
      • リクエスト:GET
      • GETパラメータ
        • 必須
          • race_id:netkeiba独自のレースID(下記補足参照)
    • オッズ
      • URL: https://race.netkeiba.com/odds/index.html
      • 非公開APIがあるため、パラメータは割愛
    • 非公開オッズAPI
      • URL: https://race.netkeiba.com/api/api_get_jra_odds.html
      • リクエスト:GET
      • パラメータ:
        • 必須:
          • race_id:netkeiba独自のレースID(下記補足参照)
            • type:馬券種類
            • 1:単勝・複勝
            • 2:複勝のみ
            • 3:枠連
            • 4:馬連
            • 5:ワイド
            • 6:馬単
            • 7:三連複
            • 8:三連単
            • all:全券種
        • 任意
          • action:無料会員更新数上限管理用→過去データを取る場合は新規固定で
            • init:新規(デフォ)
            • update:更新
          • sort:並び順
            • odds:馬番順(デフォ)
            • ninki:人気順
          • compress:圧縮の有無
            • 1:圧縮あり
            • 0:圧縮なし(デフォ)(復元方法わからないので基本こっち)
      • レスポンス:JSON、パラメータは割愛
    • 日別レース一覧ページ
      • URL:https://race.netkeiba.com/top/race_list_sub.html
      • リクエスト:GET
      • パラメータ:
        • 必須:
          • kaisai_date:開催日(YYYYmmddフォーマット)
  • 地方競馬
    • 出馬表
      • URL:https://nar.netkeiba.com/race/shutuba_past.html
      • リクエスト:GET
      • GETパラメータ
        • 必須
          • race_id:netkeiba独自のレースID(下記補足参照)
    • オッズ(地方はAPIなし)
      • URL:https://nar.netkeiba.com/odds/index.html
      • URL:https://nar.netkeiba.com/odds/odds_get_form.html(オッズのみ抜けるが文字化けするので使えない)
      • リクエスト:GET
      • GETパラメータ:
        • 必須:
          • race_id:netkeiba独自のレースID(下記補足参照)
          • type:券種
            • b0:各券種人気組み合わせ
            • b1:単勝・複勝
            • b3:枠連
            • b4:馬連
            • b5:ワイド
            • b6:馬単
            • b7:三連複
            • b8:三連単
        • 任意
          • housiki:方式/買い方(人間操作用向け、設定すると処理が大変になる。使わないのでパラ割愛)
    • 日別レース一覧ページ
      • URL:https://nar.netkeiba.com/top/race_list_sub.html
      • リクエスト:GET
      • パラメータ:
        • 必須:
          • kaisai_date:開催日(YYYYmmddフォーマット)
        • 任意:
          • kaisai_id:netkeiba独自の開催ID(下記補足参照)未指定時は最小IDの競馬場

補足

データ取得可能期間

  • 中央   出馬表:2007年7月28日〜   オッズ:2007年7月28日〜 レース結果:2007年7月28日〜
  • 地方   出馬表:2015年2月25日〜   オッズ:2015年2月25日〜 レース結果:2015年2月25日〜

楽天競馬

サーバーが安定、データのフォーマットがしっかりしている、URLに規則性がある、という点からかなり処理を書きやすい楽天競馬。 南関AI(@nankan_AI)もここからデータの取得を行った。 本プロジェクトでは、公式よりも古くデータを取れる地方競馬のオッズデータについて楽天競馬から取得を行っている。 また、地方のレース情報についてもnetkeibaでは取れないデータ(見習騎手・生産牧場等)についてはこちらで補完を行う。

メリット

  • オッズデータの更新が公式とほぼ同時
  • レースIDに規則性があるので遷移しやすい
  • レスポンスが安定している
  • データ数(特にオッズデータ)が多い

デメリット

  • 中央のデータが取れない

URL

トップ:https://keiba.rakuten.co.jp/ TODO

データ取得可能期間

  出馬表:2010年1月1日~   オッズ:2010年6月1日〜 レース結果:2010年1月1日~