martes, enero 09, 2007

RSS Feeds for dummies

En alguna ocasión me han pedido que explique cómo hago para generar un Feed de contenidos alojados en páginas que no los proporcionan, tales como las viñetas de El País o los vídeos de los Guiñoles de Cuatro (ver los enlaces de Feeds en la parte derecha del blog). En realidad es bastante sencillo, y el mecanismo vale para otras páginas web, siempre que mantengan de forma consecuente una estructura en la forma en que publican los elementos que quermos incluir en el Feed. Es más fácil entenderlo con el ejemplo de los Guiñoles, que podemos ver funcionando aquí:

Cuatro publica los vídeos de los Guiñoles en una página de la sección de la Hora Hache de su web. En realidad, tienen otras páginas para distribuir los vídeos por meses en el lateral izquierdo. Los nombres de esas páginas siempre (de momento) siguen el siguiente formato:

http://www.cuatro.com/.../guinol_NOMBREDELMES.html

Las páginas con los vídeos muestran éstos en bloques HTML con un formato fijo:

<div class="ficha1">
<a ... href="URLVIEWER">
<img src="URLFOTO" ... />
</a>
<p><strong>TITULO</strong><br />
DESCRIPCION
<div class="enlace">
<a ... href="URLVIEWER">Ver vídeo</a>
</div>
</div>

Para cada bloque, URLVIEWER contiene la dirección de otra página que carga un visor con el vídeo. Como lo que nos interesa es la dirección del propio vídeo, basta con extraer de esta segunda página dicha dirección, que nuevamente se encuentra en un formato fijo:

url_asx = '/comunes/player/multimedia.asx?ppal=URLVIDEO&auth='+auth;

Una vez que tenemos claro cómo obtener los contenidos que queremos colocar en el Feed, necesitamos preparar un script que los extraiga automáticamente y los presente en el formato que queramos (en nuestro caso, RSS). La solución ideal es un script de servidor, PHP, ASP o similar, que debemos alojar en algún host que soporte el lenguaje elegido, y que luego enmascaramos con un servicio del tipo de Feedburner. Este último nos va a evitar la sobrecarga del sistema, ya que sólo llama a nuestro script una vez cada hora y ofrece a los usuarios una versión cacheada. Así, de paso, no bombardeamos innecesariamente la web de Cuatro.

Un objeto del tipo de XMLHTTP (tan socorrido en las aplicaciones Ajax) nos puede servir para obtener el código de las páginas de Cuatro de las que queremos extraer los contenidos. Para la obtención de las variables (URLVIDEO, URLFOTO, etc.) podemos utilizar Expresiones Regulares, disponibles en la mayoría de lenguajes y perfectas para este tipo de tareas.

Un ejemplo completo del código en ASP puede verse aquí.

Muy buenas noches, noches, a todos, todos.

2 comentarios

Anónimo dijo el 9/1/07 11:37 p. m.

para quién no tenga un servidor donde poder hacerlo, hay un sitio donde ofrecen este servicio:
pages2rss.com

Anónimo dijo el 11/1/07 1:19 a. m.

Interesantísimo. Yo me guardo el enlace. ¿Por qué no una colección de guías o tutoriales? Expansión del conocimiento a los que no sabemos. Café, Investigación y Desarrollo para todos.

Publicar un comentario

eXTReMe Tracker