Class: Sportify::MLBscraper
- Inherits:
-
Object
- Object
- Sportify::MLBscraper
- Defined in:
- lib/scrapers/mlb_scraper.rb
Constant Summary collapse
- @@root_url =
"https://www.mlb.com/team"- @@root_html =
open(@@root_url)
- @@root_doc =
Nokogiri::HTML(@@root_html)
Instance Method Summary collapse
- #player_names(team) ⇒ Object
- #player_numbers(team) ⇒ Object
- #roster_doc(team) ⇒ Object
- #roster_url(team_url) ⇒ Object
- #team_urls ⇒ Object
- #teams ⇒ Object
Instance Method Details
#player_names(team) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/scrapers/mlb_scraper.rb', line 49 def player_names(team) player_names = [] doc = roster_doc(team) doc.css("td.dg-name_display_first_last").css("a").each do |player| player_names << player.text end player_names end |
#player_numbers(team) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/scrapers/mlb_scraper.rb', line 40 def player_numbers(team) player_numbers = [] doc = roster_doc(team) doc.css("table.data.roster_table").css("td.dg-jersey_number").each do |player| player_numbers << player.text end player_numbers end |
#roster_doc(team) ⇒ Object
34 35 36 37 38 |
# File 'lib/scrapers/mlb_scraper.rb', line 34 def roster_doc(team) url = roster_url(team[:team_url]) html = open(url) Nokogiri::HTML(html) end |
#roster_url(team_url) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/scrapers/mlb_scraper.rb', line 23 def roster_url(team_url) html = open(team_url) doc = Nokogiri::HTML(html) if team_url == "https://www.mlb.com/reds" || team_url == "https://www.mlb.com/dodgers" || team_url == "https://www.mlb.com/giants" roster_url = doc.css("div.megamenu-navbar").css("a.megamenu-static-navbar__menu-item.megamenu-static-navbar__menu-item--roster").attribute("href").value else roster_url = doc.css("div.megamenu-navbar").css("a.megamenu-static-navbar__menu-item.megamenu-static-navbar__menu-item--team").attribute("href").value end roster_url end |
#team_urls ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/scrapers/mlb_scraper.rb', line 15 def team_urls team_urls = [] @@root_doc.css("div.p-wysiwyg").each do |team| team_urls << team.css("a")[0]["href"] end team_urls end |
#teams ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/scrapers/mlb_scraper.rb', line 7 def teams teams = [] @@root_doc.css("div.u-text-h4.u-text-flow").each do |team| teams << team.text end teams end |