Como leer mediante Javascript un feed RSS para publicar los titulares en tu sitio. Lector RSS Javascript.
He estado investigando en diferentes sitios la manera de crear sistema en Javascript que lea RSS de otras webs, para publicar los titulares en una página. Finalmente encontré un script lector de RSS que voy a comentar en este artículo.
El sistema permite leer una hoja XML que contiene un feed RSS y escribe las entradas del RSS en la página. En el contenido de la página no figura el RSS, sino que está en un archivo externo y con el script se escribe el texto de las distintas entradas, con sus enlaces y otras informaciones.
El script lo tienen publicado en la página http://www.cstruter.com/downloads.php
Yo lo he descargado y he colocado en el servidor de DesarrolloWeb.com, por si acaso lo quitan de la web donde lo he obtenido (como ya nos ha pasado con otros scripts que hemos comentado en este sitio). Se puede descargar con este enlace. No obstante, recomiendo entrar en la página donde lo he obtenido, por si acaso publican versiones nuevas.
Condicionantes para el uso del lector RSS con Javascript
Antes de continuar explicando el funcionamiento hay que decir que existe una restricción de uso de este script, que resulta importante porque en Firefox no funcionará. Se trata de que Firefox, como medida de seguridad, no permite leer el contenido de otras webs. Como el RSS con los titulares lo sacamos de otras webs, pues en Firefox vamos a tener problemas, porque no va a permitir su lectura y la presentación de los titulares en la página. Este problema no lo tiene Internet Explorer, pero aun así tendremos que buscar otras soluciones.
La solución más sencilla sería la de publicar el RSS en nuestro servidor. Es decir, descargarlo de la web deseada y subirlo por FTP a nuestro sitio. Claro que esto nos obligaría a realizar una operación manual cada vez que queremos que los titulares se actualicen y ello puede significar que perdamos una de las ventajas de presentar titulares RSS de otras webs, que es disponer siempre de contenido actualizado. Además se de resultar un poco pesada la tarea de descargar el feed RSS y subir todos los días el archivo XML a nuestra web.
La solución más óptima sería crear un script en programación del lado del servidor, con por ejemplo PHP, ASP o .NET que realice la tarea de descargar el RSS con los titulares y lo copie en nuestro servidor. Este script se podría ejecutar cada cierto tiempo o cada vez que un usuario acceda a la página donde se lee el RSS remoto para presentar los titulares. La desventaja de esta opción es que necesitamos que nuestro servidor soporte programación de scripts en PHP, ASP o similares. Aparte que si hacemos programación del lado del servidor para extraer el feed RSS podríamos directamente tratarlo para presentar los datos en la página, sin necesidad de este script Javascript. No obstante, cabe señalar que en DesarrolloWeb.com, en las secciones monotemáticas de PHP o ASP tenemos materiales para aprender a leer un archivo remoto, que esté en otro servidor.
Uso del lector RSS Javascript
El script es extremadamente sencillo de utilizar, ya que toda la parte complicada la hace por si mismo. Simplemente tenemos que especificar en una línea de código el archivo RSS del que tiene que extraer los titulares.
Del archivo de descarga, simplemente tenemos que cambiar la siguiente línea:
ReadRSS('cnn_tech_rss.xml','rssBodyTemplate','rssTitleTemplate');
La function ReadRSS(), que es el lector RSS, en el primer parámetro tiene el nombre del archivo RSS que debe leer. Nosotros lo podemos cambiar por el nombre del archivo que pretendemos mostrar sus titulares.
Este archivo lo podríamos cambiar por la URL completa del feed RSS del servidor donde se lo tienen publicado. Por ejemplo, para leer el RSS con las novedades de FAQ que publicamos en DesarrolloWeb.com se llamaría la función así:
ReadRSS('http://www.desarrolloweb.com/rss/faq_rss.php','rssBodyTemplate','rssTitleTemplate');
En Internet Explorer no hay ningún problema con este uso de la función, simplemente veremos que los titulares tardan un poco más en generarse, debido a que tiene que conectar con la página remota para descargar el RSS. Pero podremos comprobar que la función, cuando se ejecuta en Firefox, muestra un mensaje advirtiendo del problema y sugiriendo que se copie el archivo remoto el nuestro propio servidor para poder funcionar.
Descargaros el script al que hacemos referencia y realizar vuestras propias pruebas.
El sistema permite leer una hoja XML que contiene un feed RSS y escribe las entradas del RSS en la página. En el contenido de la página no figura el RSS, sino que está en un archivo externo y con el script se escribe el texto de las distintas entradas, con sus enlaces y otras informaciones.
El script lo tienen publicado en la página http://www.cstruter.com/downloads.php
Yo lo he descargado y he colocado en el servidor de DesarrolloWeb.com, por si acaso lo quitan de la web donde lo he obtenido (como ya nos ha pasado con otros scripts que hemos comentado en este sitio). Se puede descargar con este enlace. No obstante, recomiendo entrar en la página donde lo he obtenido, por si acaso publican versiones nuevas.
Condicionantes para el uso del lector RSS con Javascript
Antes de continuar explicando el funcionamiento hay que decir que existe una restricción de uso de este script, que resulta importante porque en Firefox no funcionará. Se trata de que Firefox, como medida de seguridad, no permite leer el contenido de otras webs. Como el RSS con los titulares lo sacamos de otras webs, pues en Firefox vamos a tener problemas, porque no va a permitir su lectura y la presentación de los titulares en la página. Este problema no lo tiene Internet Explorer, pero aun así tendremos que buscar otras soluciones.
La solución más sencilla sería la de publicar el RSS en nuestro servidor. Es decir, descargarlo de la web deseada y subirlo por FTP a nuestro sitio. Claro que esto nos obligaría a realizar una operación manual cada vez que queremos que los titulares se actualicen y ello puede significar que perdamos una de las ventajas de presentar titulares RSS de otras webs, que es disponer siempre de contenido actualizado. Además se de resultar un poco pesada la tarea de descargar el feed RSS y subir todos los días el archivo XML a nuestra web.
La solución más óptima sería crear un script en programación del lado del servidor, con por ejemplo PHP, ASP o .NET que realice la tarea de descargar el RSS con los titulares y lo copie en nuestro servidor. Este script se podría ejecutar cada cierto tiempo o cada vez que un usuario acceda a la página donde se lee el RSS remoto para presentar los titulares. La desventaja de esta opción es que necesitamos que nuestro servidor soporte programación de scripts en PHP, ASP o similares. Aparte que si hacemos programación del lado del servidor para extraer el feed RSS podríamos directamente tratarlo para presentar los datos en la página, sin necesidad de este script Javascript. No obstante, cabe señalar que en DesarrolloWeb.com, en las secciones monotemáticas de PHP o ASP tenemos materiales para aprender a leer un archivo remoto, que esté en otro servidor.
Uso del lector RSS Javascript
El script es extremadamente sencillo de utilizar, ya que toda la parte complicada la hace por si mismo. Simplemente tenemos que especificar en una línea de código el archivo RSS del que tiene que extraer los titulares.
Del archivo de descarga, simplemente tenemos que cambiar la siguiente línea:
ReadRSS('cnn_tech_rss.xml','rssBodyTemplate','rssTitleTemplate');
La function ReadRSS(), que es el lector RSS, en el primer parámetro tiene el nombre del archivo RSS que debe leer. Nosotros lo podemos cambiar por el nombre del archivo que pretendemos mostrar sus titulares.
Este archivo lo podríamos cambiar por la URL completa del feed RSS del servidor donde se lo tienen publicado. Por ejemplo, para leer el RSS con las novedades de FAQ que publicamos en DesarrolloWeb.com se llamaría la función así:
ReadRSS('http://www.desarrolloweb.com/rss/faq_rss.php','rssBodyTemplate','rssTitleTemplate');
En Internet Explorer no hay ningún problema con este uso de la función, simplemente veremos que los titulares tardan un poco más en generarse, debido a que tiene que conectar con la página remota para descargar el RSS. Pero podremos comprobar que la función, cuando se ejecuta en Firefox, muestra un mensaje advirtiendo del problema y sugiriendo que se copie el archivo remoto el nuestro propio servidor para poder funcionar.
Descargaros el script al que hacemos referencia y realizar vuestras propias pruebas.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...