Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

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

やろうと思った背景

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

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

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

スクレピング対象

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

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

アーキテクチャ

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

  1. Webスクレイピングクライアント
    1. ジムのレッスンスケジュールページのhtmlを取得する
    2. html解析する
    3. CSV出力する
  2. マニュアル
    1. 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 のダウンロード

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?