Sha256: 8c7bd8e405af8ed17d9b7f261d6d49723fb3c280d45c12cf3cb157a386e35d79

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

class KnicksHistory::Scraper

  def get_page
    Nokogiri::HTML(open("https://www.basketball-reference.com/teams/NYK/"))
  end

  def scrape_seasons_index
    self.get_page.css("#NYK tbody tr")
  end

  def make_seasons
    data_hash = {}
    scrape_seasons_index.each do |season|
      data_hash[:year] = season.css("th a").text.match(/\d{4}/).to_s
      data_hash[:wins] = season.css("td[data-stat = wins]").text
      data_hash[:losses] = season.css("td[data-stat = losses]").text
      data_hash[:win_percentage] = season.css("td[data-stat = win_loss_pct]").text
      if season.css("td[data-stat = off_rtg]").text == ""
        data_hash[:off_rating] = "N/A"
        data_hash[:def_rating] = "N/A"
      else
        data_hash[:off_rating] = season.css("td[data-stat = off_rtg]").text
        data_hash[:def_rating] = season.css("td[data-stat = def_rtg]").text
      end
      data_hash[:best_player_ws] = season.css("td[data-stat = top_ws]").text
      data_hash[:pace] = season.css("td[data-stat = pace]").text
      if season.css("td[data-stat = rank_team_playoffs]").text == ""
        data_hash[:playoff_results] = "Missed Playoffs"
      else
        data_hash[:playoff_results] = season.css("td[data-stat = rank_team_playoffs]").text
      end
      KnicksHistory::Season.new(data_hash)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
knicks_history-0.1.1 lib/knicks_history/scraper.rb