#!/usr/bin/env ruby
# This code comes from http://ruby-it.org/pages/Codice+LunaRss+0_2
# Check the page for copyright notice and explanations
#!/usr/bin/env ruby
require 'net/http'
class Rss_parser
def initialize(url)
@url_completo = url
@url_no_http = @url_completo.gsub(/http\:\/\//,'')
@url_http = @url_no_http.gsub(/\/.*/,'')
@url_pagina = "/" + @url_completo.gsub(%r{http:\/\/.*?\/},'')
end
def esegui_parsing
h = Net::HTTP.new(@url_http)
resp,data = h.get(@url_pagina,nil)
data.gsub!(/\0/,'')
canale = data.scan channel_title_pattern
titolo = []
i = 0
data.scan item_title_pattern do |x|
titolo[i] = x
i += 1
end
link = []
i = 0
data.scan item_links_pattern do |x|
link[i] = x
i += 1
end
descrizione = []
i = 0
data.scan item_description_pattern do |x|
descrizione[i] = x
i += 1
end
return {
'titoli' => titolo,
'links' => link,
'descrizioni' => descrizione,
'canali' => canale
}
end
private
def channel_title_pattern
%r{