目次
ボートレースツールを考えてみた
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ファイルを作成する
- 既に出力ファイルがある場合、消去し、再作成する