Skip to content

Instantly share code, notes, and snippets.

@sri
Created May 14, 2011 04:41
Show Gist options
  • Save sri/971925 to your computer and use it in GitHub Desktop.
Save sri/971925 to your computer and use it in GitHub Desktop.
sort confreaks events by most views
require 'open-uri'
event = ARGV[0] || "rubyconf2010"
open("http://confreaks.net/events/#{event}").
read.
scan(/<div class='main-info'>.*?<div class='clear'><\/div>/im).
map { |x|
url, title = x.scan(/<div class='title'>.*?<a href="([^"]*)">([^<]*)<\/a>/im).flatten
presenters = x.scan(/<div class='presenters'>.*?<\/div>/im)[0].gsub(/<[^>]*>/, '').
gsub(/\n/, '')
views = x.scan(/Views:.*?([\d,]+)/im).flatten[0].gsub(/,/, '').to_i
{url: url, title: title, presenters: presenters, views: views}
}.
sort_by { |h| -h[:views] }.
each { |h|
print "<a href='http://confreaks.net#{h[:url]}'>#{h[:title]}</a> "
puts "(#{h[:views]}) - #{h[:presenters]}<br/>"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment