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-VANはJSON返してくれるAPIを公開してほしい(有料でもよいので)
とりあえずLambdaで定期的に拾ってきて、API GatewayでJSON返すようにすれば、他のツールからも使いやすくなりそう。