class Sportify::MLBscraper
Public Class Methods
add_player_data(player)
click to toggle source
# File lib/scrapers/mlb_scraper.rb, line 28 def self.add_player_data(player) data = Nokogiri::HTML(open(player.player_url)) player.number = data.css("span.player-header--vitals-number").text player.position = data.css("div.player-header--vitals").css("ul").css("li")[0].text player.bats_and_throws = data.css("div.player-header--vitals").css("ul").css("li")[1].text player.height_weight = data.css("div.player-header--vitals").css("ul").css("li.player-header--vitals-height").text player.age = data.css("div.player-header--vitals").css("ul").css("li.player-header--vitals-age").text end
player_builder(team)
click to toggle source
# File lib/scrapers/mlb_scraper.rb, line 21 def self.player_builder(team) @team = team Nokogiri::HTML(open(@team.roster_url)).css("td.dg-name_display_first_last").css("a").each do |data| @team.add_player(Sportify::MLBplayer.new(player_name = data.text, player_url = team.team_url + data["href"], team = @team)) end end
roster_url(team)
click to toggle source
# File lib/scrapers/mlb_scraper.rb, line 11 def self.roster_url(team) team_home_page = Nokogiri::HTML(open(team.team_url)) if team.team_url == "https://www.mlb.com/reds" || team.team_url == "https://www.mlb.com/dodgers" || team.team_url == "https://www.mlb.com/giants" roster_url = team_home_page.css("div.megamenu-navbar").css("a.megamenu-static-navbar__menu-item.megamenu-static-navbar__menu-item--roster").attribute("href").value else roster_url = team_home_page.css("div.megamenu-navbar").css("a.megamenu-static-navbar__menu-item.megamenu-static-navbar__menu-item--team").attribute("href").value end team.roster_url = roster_url end
team_builder()
click to toggle source
# File lib/scrapers/mlb_scraper.rb, line 5 def self.team_builder @@team_data.each do |data| Sportify::MLBteam.new(name = data.css("a").css("div.u-text-h4.u-text-flow").text, team_url = data.css("div.p-wysiwyg").css("a")[0]["href"]) end end