競馬について徒然と

競馬について適当に書きます. ちょっとtech系風味も入れて.

Python+Seleniumで各競馬場の馬場状態をスクレイピングする

食わず嫌いのPythonだったのですが、スクレイピングやColaboratoryを使うならPythonのほうが便利、ということで、入門書ちょろっと見て、Seleniumでやってみました。

注意

目次

環境

venv使ってますが、個人的にactivate/deactivateが嫌いなんだよな。

$ python -V
Python 3.10.8

Seleniumのバージョンで書き方が変わるので注意

$ pip list | grep -i selenium
selenium         4.6.0

コード

実行結果

$ python get_baba.py

  ### 東京競馬場 ###

  ■ 芝

    コース: Bコース(Aコースから3メートル外に内柵を設置)

    クッション値: 9.3%
    (11月6日(日曜)7時00分 時点)

    含水率: 13.6%
    (ゴール前, 11月6日(日曜)5時00分 時点):

    状態: コース全体の内柵沿いに軽い傷みがあります。

  ■ ダート

    含水率: 2.3%
    (ゴール前, 11月6日(日曜)5時00分 時点)

  

  ### 阪神競馬場 ###

  ■ 芝

    コース: Aコース(内柵を最内に設置)

    クッション値: 9.7%
    (11月6日(日曜)7時30分 時点)

    含水率: 9.0%
    (ゴール前, 11月6日(日曜)4時30分 時点):

    状態: 内回り3コーナー入口から4コーナー、外回り4コーナーから正面直線にかけてコース内側に軽微な傷みがありますが、全体的に良好な状態です。

  ■ ダート

    含水率: 2.9%
    (ゴール前, 11月6日(日曜)4時30分 時点)

  

  ### 福島競馬場 ###

  ■ 芝

    コース: Aコース(内柵を最内に設置)

    クッション値: 8.9%
    (11月6日(日曜)7時00分 時点)

    含水率: 11.7%
    (ゴール前, 11月6日(日曜)5時30分 時点):

    状態: 第2回福島競馬終了後、コース内側の傷んだ箇所約8,700平方メートルの芝張替を行いました。その後、肥料散布・薬剤散布・散水等を行い生育促進に努め、9月中旬にオーバーシードとして洋芝を播種しました。野芝および洋芝ともに順調に生育しており、全体的に良好な状態です。

  ■ ダート

    含水率: 4.7%
    (ゴール前, 11月6日(日曜)5時30分 時点)

  

まとめ

やりたいことはできたけど、まだPython好きにはなれない。Seleniumも初めて使ってみたけど絶対運用が辛くなるのはわかってるので、できればJRA-VANJSON返してくれるAPIを公開してほしい(有料でもよいので)

とりあえずLambdaで定期的に拾ってきて、API GatewayJSON返すようにすれば、他のツールからも使いやすくなりそう。