Bienvenido(a) a Proyecto Script

Hola!!!

Este es un buen lugar donde buscar las respuestas a tus dudas sobre "Programación", "Lenguajes", "Linux", "Electrónica", etc.

Suele ser difícil buscar en la red y encontrar respuestas claras y en español a muchas preguntas sobre estos temas, así que aquí tienes un buen lugar para iniciar.

Quieres ser parte de esto, solo ¡regístrate!

jueves, 24 de abril de 2008

Manejo de RSS con Ruby

Recientemente investigé un poco como manejar los RSS con Ruby y encontré varias APIs, como FeedTools, FeedUpdater, RSSRuby, etc.

Y aquí les dejo un código (que ya probé y funciona).

Para escribir RSS:


require 'rss/maker'

version = "2.0" # ["0.9", "1.0", "2.0"]
destination = "test_maker.xml" # local file to write

content = RSS::Maker.make(version) do |m|
m.channel.title = "Example Ruby RSS feed"
m.channel.link = "http://www.rubyrss.com"
m.channel.description = "Old news (or new olds) at Ruby RSS"
m.items.do_sort = true # sort items by date

i = m.items.new_item
i.title = "Ruby can parse RSS feeds"
i.link = "http://www.rubyrss.com/"
i.date = Time.parse("2007/2/11 14:01")

i = m.items.new_item
i.title = "Ruby can create RSS feeds"
i.link = "http://www.rubyrss.com/"
i.date = Time.now
end

File.open(destination,"w") do |f|
f.write(content)
end

Y para leer:

require 'rss/1.0'
require 'rss/2.0'
require 'open-uri'

source = "http://rubyforge.org/export/rss_sfnewreleases.php" # url or local file
content = "" # raw content of rss feed will be loaded here
open(source) do |s| content = s.read end
rss = RSS::Parser.parse(content, false)


Digg!

No hay comentarios: