La Coctelera

missha

blogeando también en La Coctelera

25 Mayo 2005

Parsear RSS con Rails

Robby Russell nos da el código para parsear un fichero RSS con Ruby on Rails:

---- empieza código -----

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

class RssfeedController < ApplicationController

def index
feed_url = 'http://www.planetrubyonrails.org/xml/rss' output = "<h1>My RSS Reader</h1>"
open(feed_url) do |http|
response = http.read
result = RSS::Parser.parse(response, false)
output += "Feed Title: #{result.channel.title}<br />"
result.items.each_with_index do |item, i|
output += "#{i+1}. #{item.title}<br />" if i < 10 end
end
render_text output
end
end

---- acaba código -----

Rails trae por defecto librerías para jugar con RSS, pero no con Atom.

Por cierto, una vista para generar un RSS

servido por Ana B 5 comentarios compártelo

5 comentarios · Escribe aquí tu comentario

bemeuve

bemeuve dijo

Pero, será necesario indicar a ruby (con un require o include) o a rails (colocándolo en el directorio vendor o lib) que utilicen alguna de esas librerias para que funcione dicho código, no? En particular en la que figure la definición de la clase RSS ¿qué nombre tiene?

25 Mayo 2005 | 10:28 PM

Ana Belén

Ana Belén dijo

arreglado!

era un problema al pegar el código :)

por cierto, gracias por la explicación de que se puede llamar a una librería desde rails (metiendola en vendor o lib)o desde ruby (llámandola con requires).

eso no lo sabía!

26 Mayo 2005 | 09:31 AM

bemeuve

bemeuve dijo

Prefecto!

Bien, pues te cuento algo más que quizá tampoco sepas. Si en lugar de "require" utilizamos "include" dentro de la clase, nos evitamos tener que referenciar la libreria en la que se encuentra la clase Parser.

Esto es...

class RssfeedController

Por cierto que en mi primer comentario donde dije "clase RSS" quise decir "clase Parser", que RSS un módulo (o librería ;)

26 Mayo 2005 | 10:31 AM

bemeube

bemeube dijo

pues sí, pegar código no funciona todo lo bien que debiera, y menos como comentarios... el trozo en negrita se perdió en el anterior. que desastre!

class RssfeedController < ApplicationController
 include 'rss/2.0'
 [...]
 result = Parser.parse(response, false)
 [...]

Por cierto que...

26 Mayo 2005 | 10:35 AM

Ana Belén

Ana Belén dijo

mmm... interesante matiz...

26 Mayo 2005 | 01:37 PM

Escribe tu comentario


Sobre mí

Mi nombre es Ana Belén, tengo 22 24, 28 29 (cómo pasa el tiempo!) y vivo en Málaga Madrid Málaga (España) Zurich (Suiza) San Francisco. Estoy estudiando Comunicación Audiovisual (licenciatura) pero a parte de eso tengo otros estudios como pueden ser... diseñadora de interfaces web, azafata de aeropuertos envasadora de tomates y otras cosas. ;) y trabajo en Google como diseñadora de interacción.

Este blog es una terapia personal.

Tengo un perro que es un trasto.

Jose, el que me hace de sufrí

Sara, mi hermana

Alejandro, mi hermano

Simba, mi gato

Norman, mi perro

Mis fotos en Flickr

Se muestran en orden aleatorio.

www.flickr.com
missha's photos More of missha's photos

Autora: Ana Belen Ramon Castillo

Fotos

Ana B Ramón todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera