Tutorial RSS, Sindicación de contenidos

Después de adquirir conocimientos sobre XML, es hora de explorar el mundo de los feeds RSS (Really Simple Syndication) en nuestro tutorial RSS.
RSS es un formato de sindicación de contenido web que permite a los usuarios recibir actualizaciones de sitios web y blogs en un único lugar. RSS es un fichero XML que contiene ciertos elementos que lo definen y que serán reconocidos por los navegadores, así como por lectores de feeds.
A través de este tutorial de RSS, podremos comprender cómo funcionan los feeds RSS, su estructura y cómo se utilizan para compartir información en la web. También podremos ver un ejemplo práctico de cómo crear y leer feeds RSS, lo que nos permitirá aplicar nuestros conocimientos de XML en un contexto real. Así, podremos ampliar nuestras habilidades en la sindicación de contenido y estar preparados para aprovechar al máximo esta tecnología en nuestros proyectos y sitios web.
El Tutorial de RSS es una excelente continuación después de aprender sobre DTD, XSD, XSLT y XPath. En este tutorial, aprenderás los conceptos fundamentales de RSS y cómo utilizarlo.
1. Tutorial RSS: Introducción
Descubre qué es RSS: RSS es un formato de sindicación de contenido web que permite a los usuarios recibir actualizaciones de sus sitios web favoritos en un solo lugar. Con RSS, puedes suscribirte a los feeds de tus blogs, noticias, podcasts y otros sitios web, y recibir automáticamente las últimas actualizaciones sin tener que visitar cada sitio individualmente.
¿Cómo funciona RSS? Los sitios web que admiten RSS generan feeds que contienen resúmenes o titulares de su contenido. Estos feeds se actualizan periódicamente para reflejar las nuevas publicaciones o actualizaciones. Los usuarios pueden utilizar lectores de RSS o aplicaciones compatibles con RSS para suscribirse a estos feeds y recibir las actualizaciones en tiempo real.
¿Por qué es útil RSS? RSS ofrece varias ventajas para los usuarios. En lugar de tener que visitar múltiples sitios web para verificar las actualizaciones, RSS te permite tener todas las actualizaciones en un solo lugar. Puedes organizar y leer las noticias y contenidos de tus sitios favoritos de manera más eficiente. Además, puedes elegir qué contenido deseas recibir y filtrar la información que más te interesa.
2. Estructura de un feed RSS
Como se ha comentado, un feed RSS es un fichero XML que tiene ciertos elementos que lo definen. EL fichero RSS siempre comienza con el siguiente prólogo:
<?xml versión="1.0" encoding="utf-8"?> <rss versión="2.0"> ... </rss>
La primera línea hace referencia a la declaración XML. La segunda es la declaración de tipo de documento, que nos permite identificar el lenguaje que deriva de XML, en el ejemplo, RSS versión 2.0.
La estructura de un feed RSS sigue un formato estándar que consta de varios elementos principales.
<?xml versión="1.0" encoding="utf-8"?> <rss versión="2.0"> <channel> <tittle>Hola mundo</tittle> <link>...</link> <description>...</description> <item> ... </item> </channel> </rss>
3. Elementos de un feed RSS
A continuación se muestra una tabla con la descripción de algunos de los elementos más importantes de un feed RSS:
Elemento | Descripción |
---|---|
<rss> | Elemento raíz del feed RSS que define la versión y el espacio de nombres. |
<channel> | Representa el canal o fuente de noticias. |
<title> | Título del canal o del artículo. |
<link> | Enlace al sitio web asociado o a la página completa del artículo. |
<description> | Descripción del canal o del artículo. |
<language> | Idioma del contenido del feed. |
<pubDate> | Fecha de publicación del canal o del artículo. |
<lastBuildDate> | Fecha de la última actualización del canal. |
<managingEditor> | Dirección de correo electrónico del editor del canal. |
<webMaster> | Dirección de correo electrónico del responsable técnico del canal. |
<item> | Entrada o artículo individual dentro del feed. |
<item> <title> | Título del artículo. |
<item> <link> | Enlace al artículo completo. |
<item> <guid> | Identificador único del artículo. |
<item> <pubDate> | Fecha de publicación del artículo. |
<item> <author> | Autor del artículo. |
<item> <category> | Categoría del artículo. |
<item> <description> | Descripción del artículo. |
<item> <enclosure> | Archivo adjunto al artículo, como un archivo de audio o video. |
<item> <source> | Fuente del artículo. |
<item> <comments> | Enlace a los comentarios del artículo. |
<item> <content:encoded> | Contenido completo del artículo en formato HTML. |
3.1. Elemento <channel>
El elemento <channel>
sirve de contenedor principal que engloba todas las entradas individuales dentro del feed. Su función principal es describir la fuente RSS mediante tres elementos obligatorios, que son:
<title>
Hace referencia al nombre del canal.<link>
Define el hipervínculo al canal.<description>
Se encarga de describir el contenido correspondiente al canal.
Ejemplo:
<channel> <title>Canal de Noticias</title> <link>http://www.ejemplo.com/noticias</link> <description>Últimas noticias y novedades</description> <language>es</language> <pubDate>Mon, 05 Jul 2023 12:00:00 GMT</pubDate> <lastBuildDate>Mon, 05 Jul 2023 13:00:00 GMT</lastBuildDate> <managingEditor>editor@ejemplo.com (Editor del Canal)</managingEditor> <webMaster>webmaster@ejemplo.com (Webmaster del Canal)</webMaster> <!-- Más elementos y entradas aquí --> </channel>
A continuación se muestra una tabla con los elementos opcionales que se pueden incluir dentro del elemento <channel>
:
Elemento | Descripción |
---|---|
<category> | Categoría o categorías asociadas al canal |
<cloud> | Información sobre el servicio de notificación en la nube |
<image> | Imagen representativa del canal |
<textInput> | Campo de entrada de texto personalizado para el canal |
<skipHours> | Horas del día durante las cuales no se actualiza el canal |
<skipDays> | Días de la semana durante los cuales no se actualiza el canal |
<ttl> | Tiempo de vida del canal en minutos |
<generator> | Programa o herramienta utilizada para generar el feed |
<docs> | URL de referencia a la documentación del formato del feed |
<language> | Idioma principal del canal |
<managingEditor> | Dirección de correo electrónico del editor del canal |
<webMaster> | Dirección de correo electrónico del webmaster del canal |
<pubDate> | Fecha de publicación del canal |
<lastBuildDate> | Fecha de la última actualización del canal |
<rating> | Clasificación del contenido del canal |
<copyright> | Derechos de autor del canal y su contenido |
3.2. Elemento <item>
Este elemento <channel>
tiene posibilidad de contener un elemento o varios <item>
que definen los artículos del canal RSS. En este caso, también debe contar con tres elementos fundamentales, como:
<title>
Hace referencia al nombre del artículo.<link>
Define el hipervínculo al artículo.<description>
Se encarga de describir al canal.
A continuación se muestra una tabla con los elementos opcionales más importantes que se pueden incluir dentro del elemento <item>
en un feed RSS:
Elemento | Descripción |
---|---|
<category> | Categoría o categorías asociadas al elemento |
<enclosure> | Archivo adjunto asociado al elemento |
<guid> | Identificador único del elemento |
<source> | Fuente del elemento (por ejemplo, el autor original) |
<comments> | Enlace a los comentarios asociados al elemento |
<pubDate> | Fecha de publicación del elemento |
<author> | Autor del elemento |
<dc:creator> | Creador o autor del elemento (usado en Dublin Core) |
<dc:date> | Fecha de publicación del elemento (usado en Dublin Core) |
<dc:subject> | Tema o temas asociados al elemento (usado en Dublin Core) |
<content:encoded> | Contenido del elemento en formato HTML |
<media:content> | Contenido multimedia asociado al elemento |
<media:thumbnail> | Miniatura o imagen de vista previa del elemento |
<itunes:duration> | Duración del elemento (utilizado en podcasts) |
<itunes:explicit> | Indicador de contenido explícito del elemento |
<wfw:commentRSS> | Enlace al feed de comentarios del elemento |
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Ejemplo de Feed RSS</title> <link>https://www.ejemplo.com/rss</link> <description>Este es un ejemplo de un feed RSS.</description> <language>es</language> <lastBuildDate>Mon, 12 Jul 2021 09:00:00 GMT</lastBuildDate> <item> <title>Artículo 1</title> <link>https://www.ejemplo.com/articulo1</link> <description>Este es el primer artículo del feed.</description> <pubDate>Sun, 11 Jul 2021 12:00:00 GMT</pubDate> <guid>https://www.ejemplo.com/articulo1</guid> </item> <item> <title>Artículo 2</title> <link>https://www.ejemplo.com/articulo2</link> <description>Este es el segundo artículo del feed.</description> <pubDate>Sat, 10 Jul 2021 10:30:00 GMT</pubDate> <guid>https://www.ejemplo.com/articulo2</guid> </item> <!-- Agrega más elementos item según sea necesario --> <atom:link href="https://www.ejemplo.com/rss" rel="self" type="application/rss+xml" xmlns:atom="http://www.w3.org/2005/Atom" /> </channel> </rss>
Este es solo un ejemplo básico de un archivo RSS. Puedes agregar más elementos <item>
dentro del elemento <channel>
para incluir más artículos en el feed.
4. Validación de archivos RSS
Existen varias herramientas que permiten validar archivos RSS. Aquí tienes algunas opciones:
- Feed Validator (validator.w3.org/feed/): Es una herramienta en línea proporcionada por el W3C que permite validar feeds RSS y Atom. Simplemente debes ingresar la URL del archivo RSS o cargarlo desde tu dispositivo y la herramienta verificará si cumple con las especificaciones del estándar.
- Diversos lectores de RSS: Algunos lectores de feeds RSS también tienen funciones de validación incorporadas. Por ejemplo, Feedly (https://feedly.com/) y Inoreader (https://www.inoreader.com/) pueden verificar la validez de los feeds antes de agregarlos a tu lista de suscripciones.
Además de estas herramientas, existen otros validadores RSS disponibles en línea y como software instalable.
5. Publicación de archivos RSS
Una vez que ya hemos escrito el código y hemos realizado su validación correspondiente, debemos seguir los siguientes pasos para publicar el archivo RSS.
- Subir el archivo, normalmente llamado feed.xml o rss.xml, a un servidor web y obtener el enlace al archivo. Suele subirse en el directorio raíz en el que se encuentra alojado nuestro sitio.
- Insertar el enlace en la página de inicio de nuestra web, de esta forma, podremos consultarlo mediante el navegador.
- Incluir la meta etiqueta <link> para que los lectores RSS encuentren el archivo RSS y se permita la suscripción a nuestro feed:
<link rel="alternate" title="RSS" href="feed.xml" type="application/rss+xml" />
Además, conviene verificar que el feed RSS se muestra correctamente: enlaces, títulos y contenido se cargan sin problemas.
6. Lectores RSS o agregadores de noticias
Los lectores de RSS o agregadores de noticias (RSS Feed Readers)son programas o aplicaciones que permiten a los usuarios suscribirse y leer feeds RSS de diversos sitios web en un solo lugar. Estos lectores tienen la capacidad de detectar automáticamente los feeds RSS en los sitios web que visitas y te permiten suscribirte a ellos con facilidad.
De esta manera, puedes acceder a las últimas actualizaciones y contenido de tus sitios web favoritos sin tener que visitar cada uno de ellos individualmente. Algunos navegadores web también ofrecen funcionalidades integradas de lectura de RSS, lo que facilita aún más la suscripción y lectura de feeds.
Algunos ejemplos de lectores de RSS son Feedly, NewsBlur, Inoreader y The Old Reader, entre otros. Estas herramientas son muy útiles para mantenerse actualizado con las últimas noticias y contenido de tus fuentes preferidas de manera conveniente y eficiente.
7. Cómo detectan los lectores RSS un feed en una web
Los lectores RSS detectan la presencia de un feed en una página web utilizando técnicas conocidas como autodetección de feed o descubrimiento de feed. Estas técnicas permiten que el lector RSS identifique automáticamente la existencia de un feed en una página y ofrezca al usuario la opción de suscribirse a dicho feed.
Los lectores RSS utilizan varios métodos para detectar un feed en una web:
- Autodetección de enlaces: Los lectores RSS buscan en el código HTML de la página en busca de enlaces especiales que indiquen la presencia de un feed. Estos enlaces suelen tener las etiquetas
<link>
con el atributorel="alternate"
y el tipo de MIME especificado comoapplication/rss+xml
oapplication/atom+xml
. Al encontrar uno de estos enlaces, el lector RSS asume que es un feed y ofrece al usuario la opción de suscribirse a él. - Archivo de detección de feed: Algunos lectores RSS utilizan un archivo especial llamado
feed.xml
orss.xml
ubicado en el directorio raíz del sitio web. Si el lector RSS encuentra este archivo, asume que es el feed del sitio y ofrece al usuario la opción de suscribirse a él.
Es importante tener en cuenta que la presencia de un feed en una página web y su detección por parte de los lectores RSS dependen de la implementación y configuración específica de cada sitio web y lector RSS. Algunos sitios web pueden no tener un feed o pueden utilizar métodos de detección diferentes. Además, los lectores RSS pueden variar en su capacidad para detectar y suscribirse a feeds en diferentes formatos (RSS, Atom, etc.).
8. Ejercicios: Tutorial RSS
Con este conjunto de ejercicios prácticos resueltos podrás poner en práctica tus habilidades en XSD y comprobar si un archivo XML cumple las reglas definidas en XML Schema.
8.1. Tutorial RSS. Ejercicio resuelto: RSS para un blog de noticias deportivas
Crear un feed RSS para un blog de noticias deportivas. El feed debe incluir al menos 2 noticias recientes, cada una con un título, descripción y enlace a la noticia completa. Además, cada noticia debe tener una categoría y una fecha de publicación. El archivo RSS debe cumplir con la estructura y sintaxis correcta. Por tanto, realiza su validación.
Solución:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title>Blog de Noticias Deportivas</title> <link>https://www.ejemplo.com</link> <description>Últimas noticias deportivas</description> <language>es</language> <pubDate>Sun, 17 Jul 2022 12:30:00 GMT</pubDate> <lastBuildDate>Sun, 17 Jul 2022 12:30:00 GMT</lastBuildDate> <docs>https://www.rssboard.org/rss-specification</docs> <category>Deportes</category> <atom:link href="https://www.ejemplo.com/feed.rss" rel="self" type="application/rss+xml" /> <item> <title>Increíble victoria del equipo local</title> <link>https://www.ejemplo.com/noticia1</link> <description>El equipo local logra una increíble victoria en el último minuto del partido.</description> <pubDate>Sun, 17 Jul 2022 08:00:00 GMT</pubDate> <guid>https://www.ejemplo.com/noticia1</guid> <category>Fútbol</category> </item> <item> <title>Récord mundial en atletismo</title> <link>https://www.ejemplo.com/noticia2</link> <description>Un atleta rompe el récord mundial en la disciplina de lanzamiento de jabalina.</description> <pubDate>Sun, 17 Jul 2022 12:30:00 GMT</pubDate> <guid>https://www.ejemplo.com/noticia2</guid> <category>Atletismo</category> </item> <!-- Resto de las noticias --> </channel> </rss>
8.2. Tutorial RSS. Ejercicio propuesto: Utilizar un lector RSS
Utiliza un lector RSS para estar al día de las tendencias en diseño web. Puedes buscar inspiración en el siguiente enlace: eniun.com/inspiracion-diseno-web-recursos-imprescindibles/
Los lectores RSS con una de las formas más cómodas de seguir todas las publicaciones de distintas páginas web sin tener que estar accediendo a ellas cada cierto tiempo centralizando todas las páginas web en una única plataforma o aplicación. Actualmente una de las plataformas más utilizadas es Feedly.
Feedly es un lector de RSS que permite organizar y acceder rápidamente desde un navegador web o de sus aplicaciones para teléfonos inteligentes a todas las noticias y actualizaciones de blogs y demás páginas que el sistema soporta. Entre otras características permite ordenar todos los contenidos de manera que facilita al usuario ahorrar tiempo por no tener que revisar una a una todas las fuentes de noticias.
Esperamos que este tutorial RSS te haya resultado útil para conocer los conceptos básicos de RSS y aprender a crear y leer feeds RSS. Te recordamos que este tutorial se incluye dentro de un paquete de tutoriales en los que exploramos diversos aspectos del lenguaje XML y sus tecnologías asociadas. ¡Continua tu aprendizaje con los tutoriales de DTD, XSD o XSLT!