Long time without using Nokogiri, but this works:
rawfeed = "http://en.wikipedia.org/wiki/List_of_current_NBA_team_rosters"
@page = Nokogiri::HTML(open(rawfeed))
@all_teams = @page.css('table.toccolours')
@parsed_teams = []
@all_teams.each do |t|
team = {}
# team name
team["name"] = (t.css('tr')[0].css('b').text).gsub(" roster", "")
team_players_rows = t.css('table.sortable tr')
team["players"] = []
# Skip header and iterate over players
team_players_rows.drop(1).each do |tp|
team["players"].push(tp.css('td')[2].css('a').text)
end
@parsed_teams << team
end
@parsed_teams
would be an array with values like:
[{"name"=>"Boston Celtics",
"players"=>["Bass, Brandon", "Bogans, Keith", "Bradley, Avery",
"Brooks, MarShon", "Crawford, Jordan", "Faverani, Vítor", "Green,
Jeff", "Humphries, Kris", "Lee, Courtney", "Olynyk, Kelly", "Pressey, Phil",
"Rondo, Rajon", "Sullinger, Jared", "Wallace, Gerald"]},
{"name"=>"Brooklyn Nets",...]