#!/usr/bin/ruby require "net/http" require "rss/2.0" # # Handle RSS # def read_rss content = "" http = Net::HTTP.new("news.google.co.jp") http.start {|http| http.request_get("/news?ned=us&output=rss") { |res| res.read_body { |str| content = content + str } } } return content end def parse_rss rss = nil begin rss = RSS::Parser::parse(read_rss) rescue RSS::InvalidRSSError rss = RSS::Parser::parse(read_rss, false) end return rss end def print_rss_images counter = 0 rss = parse_rss rss.items.each { |item| desc = item.description if desc.include?("imgurl") desc.scan(/\&imgurl=(\S+)\s/) { |imgurl| puts "" puts " \"#{item.title}\"" puts "" } end if counter == 5 puts "
" counter = 0 else counter = counter + 1 end } end # # Handle HTML # def print_header puts "
" puts "
" puts "

Google News by ImageBox

" puts "
" end def print_footer puts "
" end print_header print_rss_images print_footer