#!/usr/bin/ruby # tom.luo@gmail.com # 2010/03/07 # Oscar night require 'rss/2.0' require 'open-uri' def rss(rss_url) 80.times.to_a.each {print '^'} puts open(rss_url) do |http| response = http.read result = RSS::Parser.parse(response, false) puts result.channel.title 80.times.to_a.each {print '^'} puts result.items.each_with_index do |item,i| if i<=15 then puts ". #{item.title}" puts " #{item.description}" end end end end urls =[] urls << 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml' urls << 'http://rss.cbc.ca/lineup/canada.xml' urls << 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/technology/rss.xml' urls << 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/health/rss.xml' urls << 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/business/rss.xml' urls << 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/asia-pacific/rss.xml' urls << 'http://rss.cbc.ca/lineup/canada-calgary.xml' version = (RUBY_VERSION.split(/\./))[1].to_i if version == 8 then u = urls.choice # random choice in 1.8.7 elsif version == 9 then u = urls.sample # random choice in 1.9 end rss(u) unless u.nil? # urls.each {|u| rss(u) }