ScheduleScraper
A web calendar scraper for sites that do not provid portable (csv, i-cal etc) version.
Supported schedule sites:
Supported output formats:
- CSV (straight dump)
- Google Calendar formatted CSV
- iCal
- Yahoo Calendar (via iCal)
Installation
Add this line to your application's Gemfile:
gem 'schedule-scraper'
And then execute:
$ bundle
Or install it yourself as:
$ gem install schedule-scraper
Usage
Locate the printable version of the scheulde:
- Visit the leagues home page
- Click on the team in question
- Click the SCHEDULE link under TEAM MENU
- Click PRINT THIS PAGE
Request a schedule:
url = "http://www.pointstreak.com/players/print/players-team-schedule.html?teamid=385368&seasonid=9162"
schedule = ScheduleScraper.fetch(:pointstreak, url)
or
url = "http://pinevilleice.ezleagues.ezfacility.com/teams/1026121/The-Schwartz.aspx"
schedule = ScheduleScraper.fetch(:ezleagues, url)
then
Export the schedule:
schedule.to_csv
or
schedule.to_gcal
or
schedule.to_ical
TODO
- Add other schedule types
Why?
To scratch an itch. I play on a couple of ice hockey teams and the rinks use these sites to manage leagues and schedules. These sites do not offer any options for exporing and I got tired of updating my schedule manually every couple of months.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request