Incluir feeds en tu web en 5 pasos

Dada la creciente oferta de contenidos en RSS y, sobre todo, la gratuidad de muchos de ellos, es una opción muy tentadora para todo webmaster el incluir en su página web una sección de titulares de noticias, blogs, etc.
Hace poco yo quise hacer lo propio en mi sitio web de apuntes Infoapuntes.com, es decir, incluir un pequeño bloque donde mostrar titulares de noticias de informática. Sin embargo toda la información que encontré en la web circula en torno a la lectura de feeds, no a la integración en sitios web y, lo que refería a esto último hablaba de complicados códigos. Parecía que no iba a ser posible hasta que me topé con MagpieRSS.

En este manual vamos a explicar cómo incluir noticias en tu web, del medio que quieras; la fuente que hemos usado para nuestros feeds en este caso es la de Barrapunto.com y nos hemos apoyado en el script MagpieRSS para el funcionamiento.

¿Qué necesitamos?

  • Conocimientos básicos de PHP.
  • El script MagpieRSS para integrar RSS en tu web.
  • El feed de la fuente que desees, en este caso el de Barrapunto. Este es: Feed de Barrapunto

Incluye feeds en 5 pasos

Vamos a empezar instalando el script en nuestro servidor y en nuestra web.

  1. Crea una carpeta en el directorio raíz de tu servidor llamada "magpierss".
  2. En el script donde vayas a publicar las noticias, incluye esto:
    * require_once "magpierss/rss_fetch.inc";
  3. A continuación, hacemos que el script procese el feed:
    * $url = http://backends.barrapunto.com/barrapunto.rss
    * $rss = fetch_rss($url);
  4. Con esto último se creará por defecto una carpeta llamada "cache" para acelerar las llamadas al feed.
    Se devuelve un objeto con la información que queremos que se encuentra en la variable $rss->items
  5. Ahora creamos un array con la información que hemos extraido:
    * $items = array_slice($rss->items, 0);
Ya tenemos los siguientes datos, que pueden ser accedidos como cualquier variable:
  • $items[$num_articulo][’title’] -> Título de la noticia/artículo.
  • $items[$num_articulo][’summary’] -> Resumen de la noticia.
  • $items[$num_articulo][’pubdate’] -> Fecha de publicación.
  • $items[$num_articulo][’link’] -> Enlace al feed en la página original.
  • $items[$num_articulo][’author’] -> Autor del contenido.
donde $num_articulo es el número de artículo al que queremos acceder. Están ordenados por la fecha de publicación, donde el más reciente es el número 0 (cero).

Por último, lo que queda es que apliques tu creatividad para darle formato a los resultados, incluyéndolos en una marquesina o lo que se te ocurra. Incluso podrías usar Cron para ejecutar los scripts periódicamente.

Ejemplo

Aquí tenemos el ejemplo de un script completo:

require_once "magpierss/rss_fetch.inc";

//barrapunto
$url = "http://backends.barrapunto.com/barrapunto.rss";

$rss = fetch_rss($url);

$items = array_slice($rss->items, 0);

$max_noticias = 30;
$cont = 0;
echo '<h1> Titulares</h1>';
echo '<marquee scrollamount="1" direction="up" loop="true" onmouseover="this.stop()" onmouseout="this.start()" align="left">'; while(!empty($items[$cont])&&($cont<$max_noticias)){

echo '<b>Autor:</b> '.$items[$cont]["author"].'<br>';
echo ' <b>Fecha:</b> '.$items[$cont]["pubdate"].'<br>';
echo '<a href="'.$items[$cont]["link"].'" target="_blank">'.$items[$cont]["title"].'</a><br>';
echo $items[0]["pubdate"].'<br>';
echo $items[0]["summary"].'<br>';
$cont++;
}
echo '</marquee>';


Conclusión

Hasta aquí este manual sobre la inclusión de feeds en tu web. Comprobaréis que a partir de ahora, la inclusión de contenidos en tu web es tremendamente fácil y que además, tienes un amplísimo abanico de contenidos de todo tipo de categorías. Algunos feeds interesantes en castellano:

MedioDescripción Feed
barrapunto.comNoticias y artículos de Informáticahttp://backends.barrapunto.com/barrapunto.rss
elpais.esPrensa diariahttp://www.elpais.es/static/rss/index.html (web con todos los feeds)
elmundo.esPrensa diaria http://rss.elmundo.es/rss (web con todos los feeds)
alzado.orgDesarrollo web http://www.alzado.org/xml/alzado.xml
marca.esPrensa deportiva http://www.marca.com/rss/
Página oficial de MagpieRSS

Licencia

Es muy importante que, antes de incluir cualquier contenido en tu web, revises la licencia y las condiciones bajo las que se distribuyen los contenidos. En el caso de Barrapunto, la licencia es esta: "Licencia de Creative Commons"

Compartir

Comentarios

Perillan

19/10/2006
Parece tan simple que voy a probarlo. Espero que no se me complique la operación..
Gracias por el artículo

Un Saludo

Javier

19/10/2006
Voy a probarlo a ver que tal. Tengo dos webs en las cuales leo rss a través de Zfeeder, q se instala en el servidor tambien y me ha funcionado bastante bien.
Gracias por el articulo.

andres navarro

26/10/2006
el articulo es super interesante, he estado buscando algo asi para mi blog, pero tengo un problema, ejecuto mis ejemplo y no me despliega nada, ni error ni nada, a que se deberá?

Antonio Alcaraz

24/12/2006
Lo he probado, es genial, muchas gracias por las una y mil veces que me habéis sacado de dudas, pero esta ha roto esquemas..ya que mis nociones son básicas

Francisco

04/9/2007
Pues yo lo he probado pero me da el siguiente error:

He seguido los pasos tal y como indicáis aunque no consigo que funcione. Me da un fallo en la conexión.

Si alguien sabe el por qué, por favor me lo comunique, necesito incluirlo en un sitio web.
Gracias.

04/9/2007
Pues yo lo he probado pero me da el siguiente error:

Warning: MagpieRSS: Failed to fetch http://backends.barrapunto.com/barrapunto.rss (HTTP Error: connection failed (11) in /chs/p1/convega.com/home/html/pruebasrss/magpierss/rss_fetch.inc on line 238

He seguido los pasos tal y como indicáis aunque no consigo que funcione. Me da un fallo en la conexión.

Si alguien sabe el por qué, por favor me lo comunique, necesito incluirlo en un sitio web.
Gracias.

Roberto

04/12/2007
Estupendo script.. Alguien me podria decir como mostrar solo una pequeña parte del contenido summary... es que o lo quito o me sale todo el texto de la noticia.. Muchas gracias.

Carlos Amador

27/1/2008
Excelente.
Me Funcionó sin ningún problema
Gracias

Luis

20/2/2008
buenas!

finalmente lo pude adaptar, alguien sabe porque me sale unicamente el cuerpo de la ultima noticia en todos los titulares?

gracias.

20/2/2008
me respondo yo solo, por las dudas alguien tenga el mismo problema:

era simple, tenia que reemplazar el 0 (que indica el ultimo post) por $content:

echo $items[0]["pubdate"].'<br>';
echo $items[0]["summary"].'<br>';

por

echo $items[$cont]["pubdate"].'<br>';
echo $items[$cont]["summary"].'<br>';

Ahora me queda ver como solucionar la codificacion, porque no salen acentos y ñ y algunos signos como ¿.

Luis

20/2/2008
me respondo una vez mas, esta vez le agradezco a sebas la solucion!!!

los caracteres salen perfectos, en el php en el que esten trabajando tienen que cambiaren el head:

utf-8

por:

iso-8859-1

(desp de charset)

Antonio

27/3/2008
Luis, muchas gracias por la solución de los acentos y ñ, pero ¿cómo debo hacer para que salgan también las comillas ("), me sale el símbolo (?)

Antonio

27/3/2008
Las comillas sí me salen, pero sólo las del texto. Las de los títulos no. ¿Alguien sabe como solucionarlo?.

Sofia

04/4/2009
Puede ser que la animacion no se visualice en Internet Explorer? En firefox me funciona pero no en IE alguna ayudita ?

adrian

28/3/2010
robo de auto en casino melincue
me robaron el auto en el casino melincue ,el dia 9 de enero ,al reunirme con gerente justo velardos y el contador jose basic me dijeron que me ivan a ayudar conjuntamente con la municipalidad a cargo de oscar pernigotti .hasta el dia de la fecha nadie se hace responsable y se culpan unos a otros .no recibi ni la mas minima ayuda a ust que les parece estoy reclamando algo injusto si me pueden ayudar mi cel 02473-15-408337 adrian berterini dni 17245066

Saforenc

05/10/2010
Acentos y otros carácteres
Hola amigos, tengo un problemilla con MagpieRSS, y son los malditos carácteres con acento, eñes y otros com "Ç"... como lo puedo solucionar?? Muchas Gracias.-

EMilio

14/11/2010
Ayuda para cargar mi web
Yo tengo una página web y por ejemplo necesito actualizarla desde cualquier lugar que me encuentre, en un cyber o en la casa de algún amigo o que una persona autorizada pueda subir información y fotos a mi web, sin necesidad de que sea un experto en web, o sea poder entrar desde internet a cargar datos a mi página. Desde ya Gracias.

Radioboy

15/9/2011
Grande
Que gran aporte!, la verdad que es algo muy necesitado en las buenas paginas web, la facilidad de este script es abrumadora, ahora espero poder customizar el render a medida de la web que estamos haciendo, de veras, agradecer a www.desarrolloweb.com la cantidad de articulos de gran interes profesional.

Gracias, saludos!

Diego

10/4/2012
Como ampliar el feds
hola soy algo de entendido en el tema y mi pregunta es la siguiente:
Como puedo arandar el espacio en que se muestran los feeds por que la configuracion aparece como en un cuadro pequeño y lo que kiero es k sea mas largo como del tamaño de un hoja de oficio.

aldophp

15/5/2013
incluir feeds
excelente articulo lo unico que tuve que hacer es cambiar la siguiente linea
echo '<b>titulos</b> '.$items[$cont]["title"].'<br>';
es un script sencillo y funcional