Sha256: efa4cddcafe62b8ddd3b237228cea84958095465b26b7f9331a776e8735906ce

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

class  MlsStandings::Scrapper

  def self.get_page
    html = open("https://www.mlssoccer.com/standings")
    Nokogiri::HTML(html)
  end

  def self.scrape_teams
    html = self.get_page
    table = html.css('.standings_table tbody tr')
    teams_hash_array = []

    table.each do |team|
      name = team.css('[data-title="Club"] .hide-on-mobile-inline').text
      games_played = team.css('[data-title="Games Played"]').text
      wins = team.css('[data-title="Wins"]').text
      losses = team.css('[data-title="Losses"]').text
      ties = team.css('[data-title="Ties"]').text
      name.slice!('x - ')
      name.slice!('s - ')
      name.slice!('y - ')
      team_hash = {:name => name, :games_played => games_played, :wins => wins, :losses => losses, :ties => ties}
      teams_hash_array << team_hash
    end
      teams_hash_array.delete_at(0)
      teams_hash_array.delete_at(11)
      teams_hash_array
  end

  def self.create_teams
    teams = self.scrape_teams
    teams.each{|team|  MlsStandings::Team.create_from_scrape(team)}
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mls_standings-0.1.4 lib/mls_standings/scrapper.rb