class Scraper

this is a class

Public Instance Methods

game() click to toggle source
# File lib/NBA_info/NBA_info_ex.rb, line 5
def game
  x, y, z, w, team_1, start_line_up, s = [], [], [], [], [], [], []
  count = 1
  @execute = true

  doc = Nokogiri.HTML(open('http://scores.espn.go.com/nba/scoreboard'))

  time = doc.xpath("//div[@class='game-status']//p")
  time.each do |times|
    if times.text == 'Final'
      x << times.text + ' ' + count.to_s
      count += 1
    else
      x << times.text
    end
  end
  team = doc.xpath("//div[@class='team-capsule']//span")
  team.each { |teams| y << teams.text }
  score = doc.xpath("//div[@class='mod-content']//ul[@class='score']\
  //li[@class='finalScore']")
  score.each { |scores| team_1 << scores.text }
  player = doc.xpath("//div[@style='display: block']\
  //table[@class='game-stat-overview']//tbody//tr//td")
  player.each { |p| start_line_up << p.text }

  (y.size / 2).times do |i|
    z << y[i * 2] + ' v.s ' + y[i * 2 + 1]
  end

  (team_1.size / 2).times do |i|
    w << team_1[i * 2] + ' v.s ' + team_1[i * 2 + 1]
  end

  (start_line_up.size / 5).times do |i|
    s << start_line_up[i * 5] + "\t" + "#{start_line_up[i * 5 + 1]} "\
    "#{start_line_up[i * 5 + 2]}" + ' v.s '  + "#{start_line_up[i * 5 + 3]} "\
    "#{start_line_up[i * 5 + 4]}"
  end

  schedule_table_upcoming = Hash[x.zip(z)]
  [schedule_table_upcoming, w, s]
end
leader() click to toggle source
# File lib/NBA_info/NBA_info_ex.rb, line 65
def leader
  leaders = []
  doc2 = Nokogiri.HTML(open('http://espn.go.com/nba/statistics'))
  leaderscore = doc2.xpath("//div[@class='mod-content']//td[@align='right']/text()")
  leaders << leaderscore[1]
  leaders << leaderscore[19]
  leaders << leaderscore[7]
  leaders
end
profile(name) click to toggle source
# File lib/NBA_info/NBA_info_ex.rb, line 48
def profile(name)
  f = []
  data = %w('PTS' 'REB' 'AST' 'PIE')
  web_data_player = 'http://origin.nba.com/playerfile/'
  web_data_player += name
  begin
    doc1 = Nokogiri.HTML(open(web_data_player))
  rescue
    @execute = false
  end
  profile = doc1.xpath("//div[@class='sponsor-branding']\
  //tr[@class='stats text-shadow']//td")
  profile.each { |p| f << p.text }
  player_profile = Hash[data.zip(f)]
  [player_profile, f, @execute]
end