ボートレース公式の公開データを手元でデータベース化したら調べ物が捗った

ボートレース公式サイトはとっても優秀。無料で色々なデータを公開してくれています。

ただ、集計するのはちょっと大変。こんな感じで各種データを1日単位でダウンロードしなければならないのです。

そこでこれまでは指定期間を一気にダウンロードするPythonをGoogle Colaboratoryで実行していたのですが(詳しくは「コラボでGO」シリーズを見てね)、ダウンロードするのも結構時間かかるし、ちょっとの期間だけ集計したい時とか、選手ごとの集計したい時に無駄な数字も多いんだよな、、、と思っていました。

そこで「ぼくの考えるさいきょうのデータベース」をこのサイト用に借りているレンタルサーバー内に作って、いつでも好きなデータが抽出できるようにしてみました。

構成はこんな感じ↓

これで思い立った時にすぐにちょっと前の結果とか、抽出して集計したりしています。
競争成績と番組表は自動で毎日ダウンロードするようにしていますが、レーサー期別成績は半年に一度しか更新されないので、更新されたらダウンロードして手動でDBに追加しています。

レーサー期別成績と競争成績をかけ合わせたり、番組表と競争成績をかけ合わせたりして抽出もできるのでとても便利です。

最近だと以下のような選手の個別記事で、最新の勝率計算などにこのDBから抽出したデータを利用しています。


これで色んな事が手軽に集計できるようになったのですが、困っているのが得点計算。

中村かなえ選手や山下夏鈴選手は着順点の加算がある記念レースにまだ出走していないので勝率の計算が難しくないのですが、ボートレース公式サイトから取得できるデータにはレースのグレードや着順点が含まれていません。
そのため、着順点が加算になるSG~G2の記念戦はレースタイトルから判別するしかありません。さらに、優勝戦も着順点が加算になりますが、レースによっては「優勝戦」ではなく「王座決定戦」などの名称を使っている場合があり、タイトルのテキスト検索だと取りこぼしが出てきてしまいます。
「最終日の最終レース」を優勝戦と定義することも考えたのですが、天候による順延等で最終日の日程が当初の予定から変わったり、そもそも最終日が中止になって優勝戦が開催されないという場合があり、機械的に処理するのが結構手間がかかりそうです。

いつも参考にさせてもらっている大御所競艇サイト
艇国DB さんや
ボートレース日和 さん
では勝率計算がきれいにできているのでどうやって着順点を処理しているのか一度教えを請いたいです。

今日はDB化したら調べ物が楽しくなったよ、というだけのただの報告でした。

タイトルとURLをコピーしました