1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ちょんまげサークルAdvent Calendar 2018

Day 25

ジムのレッスンスケジュールをスクレイピングしてみた

Last updated at Posted at 2018-12-25

やろうと思った背景

私はジムのレッスンが好きで、週末はストレス発散もかねて、ジェクサーやコナミといったジムに行きます。

そこで、自分の空き時間に 自分の好きなレッスンがやっているスタジオをすぐに検索したい! と思ったことがきっかけです。

というわけで、自分が通っているスタジオ(ジェクサー、コナミ)のレッスンをスクレイピングして、自分の空き時間に行きたいレッスンを探せるようにしてみます。

スクレピング対象

ジェクサー全店のグループエクササイズ タイムスケジュールを対象とします。
例:ジェクサー・フィットネス&スパ 新宿【グループエクササイズタイムスケジュール】

*コナミもやりたかったのですが、時間の関係で、後日、やることにします。

アーキテクチャ

システム的には以下の通り単純です。DBなどは特に使用せず、CSV出力してスプレッドシートで表示します。

  1. Webスクレイピングクライアント
    2. ジムのレッスンスケジュールページのhtmlを取得する
    3. html解析する
    4. CSV出力する
  2. マニュアル
    6. GoogleドライブのスプレッドシートにCSVを貼り付ける

アーキテクチャ (1).png

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 のダウンロード

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?