Wrap text
Report abuse
require 'rubygems'
require 'hpricot'
require 'open-uri'
platform = ARGV[0] || "ps2"
url = "http://www.metacritic.com/games/#{platform}/scores/"
html = Hpricot.parse(open(url).read)
grades = {}
html.search("//table[@class='index']/tr").each { |tr|
rank,name,year,score = tr.search("td//text()").map { |td| td.to_s }
rank = rank.to_i
score = score.to_i
year = year.to_i
if !grades.has_key?(year)
grades[year] = []
end
grades[year] << score
}
grades.each_pair { |year,scores|
grades[year] = scores.sort.reverse.slice(0,10)
}
grades.keys.map { |year|
[year,grades[year].inject(0) { |i,n| i += n }/grades[year].size.to_f,grades[year].size]
}.sort_by { |result| result[0]}.each { |year,score,count|
puts "#{year}\t#{score}"
}