やろうと思った背景
私はジムのレッスンが好きで、週末はストレス発散もかねて、ジェクサーやコナミといったジムに行きます。
そこで、自分の空き時間に 自分の好きなレッスンがやっているスタジオをすぐに検索したい!
と思ったことがきっかけです。
というわけで、自分が通っているスタジオ(ジェクサー、コナミ)のレッスンをスクレイピングして、自分の空き時間に行きたいレッスンを探せるようにしてみます。
スクレピング対象
ジェクサー全店のグループエクササイズ タイムスケジュールを対象とします。
例:ジェクサー・フィットネス&スパ 新宿【グループエクササイズタイムスケジュール】
*コナミもやりたかったのですが、時間の関係で、後日、やることにします。
アーキテクチャ
システム的には以下の通り単純です。DBなどは特に使用せず、CSV出力してスプレッドシートで表示します。
-
Webスクレイピングクライアント:
2. ジムのレッスンスケジュールページのhtmlを取得する
3. html解析する
4. CSV出力する -
マニュアル:
6. GoogleドライブのスプレッドシートにCSVを貼り付ける
Webスクレイピングクライアントの構成
- 言語
- Ruby 2.5.1
- ライブラリ
- nokogiri
- page-object
- selenium-webdriver
プログラム
GitHubにアップしました。
今後、徐々に拡張していきたいので、gemとして作成しました。
ローカル単体で実行する場合は、以下のコマンドでいけます。
$ brew tap homebrew/cask
$ brew cask install chromedriver
$ rake build
$ gem install pkg/training_gym_lesson_batch-0.1.0.gem
$ ruby main.rb > lesson_list.csv
スクレピング結果
Googleドライブのスプレッドシートに出力したものを貼っておきますので、興味のある方はみてください。
ジェクサー全店舗のレッスン約2800レッスンあります。
*2018年12月のレッスンスケジュールなのでその点ご了承ください。
ジェクサー全店舗レッスン.pdf のダウンロード
こちらはインストラクター別にレッスン数を集計してみました。
忙しいインストラクターが一目でわかります。
ジェクサー全店舗レッスンのインストラクター別集計.pdf のダウンロード