ボートレースツールを考えてみた

ボートレースツールを考えてみた

12月に入って、記事の追加がままならない事を気にしつつ、裏で、ボートレースツール作成を進めています。最初は、エクセルVBAで行おうとしていたんですが、ある程度の機能を追加しようとすると無理が出るので今回は、VB.NETで作成しています。

最終的に予想まで出来る様にするのか、データ収集のみにするとか一切決めてないですが、機能毎に単独アプリを作成していき最終的にツールとして統合する予定です。

途中経過と備忘録として記事を書いていきます。

ボートレースツール

データ取り込み BRTDataDownloader

ボートレース公式サイトより、圧縮ファイルで保管されている番組表、競走成績をダウンロードし、圧縮ファイルの解凍を行う。(下記参照)

  • サイト負荷を考慮し、ファイルダウンロード間隔を空ける(3秒)
  • 番組表、競走成績それぞれ、月単位で指定し、ダウンロードする
  • データは上書きせず、既に存在する場合、取込みをスキップする
  • 番組表  http://www1.mbrace.or.jp/od2/B/{YYYYMM}/b{YYMMDD}.lzh
  • 競走成績 http://www1.mbrace.or.jp/odds2/K/{YYYYMM}/k{YYMMDD}.lzh
  • URLについては大文字、小文字区別あるので注意(B,b,K,k)
  • 圧縮ファイルの解凍を行う(下記参照)
圧縮ファイルの解凍について

ボートレースのデータは、吉崎栄泰氏によって開発されたLHAにより圧縮された書庫ファイルです。対応する解凍ソフトを使用する事で解凍できます。今回は、プログラムから呼び出す事になるので、Micco氏作成のUNLHA32.DLLを使用し、実装したのですが、脆弱性の問題等で開発が中止されている事を鑑み、実装する事を取り止め、手動にて解凍する仕様に変更しました。

テキストファイルデータ化 BRTDataConverter

ボートレース公式サイトからダウンロードし解凍したテキストファイル(帳票イメージ?)を編集し、CSVファイルとして保存する。

  • コンソールアプリケーションとして作成
  • 入力ファイルと同じファイル名のCSVファイルを作成する
  • 既に出力ファイルがある場合、消去し、再作成する