> Manuales > Taller de PHP

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?


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:
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"

Raúl Cano

Manual