RSS, Bittorrent y screen-scraping

Coincidiendo con la aparición de los primeros clientes de BitTorrent con soporte para RSS, hace un par de dias que terminé uno de mis primeros experimentos con esta tecnología. Con lo poco de PHP que he aprendido en el curro, lo que he aprendido del libro de expresiones regulares de O’Reilly que tomé prestado del curro, he hecho un screen-scraper que parsea la página de torrents de Frozen-Layer para que las series anime que sigo se bajen solas.

Comienzan las explicaciones para audiencias no-técnicas: un feed RSS, (o Atom, o RDF, o cualquier otra variante de XML) es una especie de resumen de una página web. Cualquier página que ofrezca noticias o cualquier otro tipo de información que se actualice frecuentemente, debería ofrecer un feed.
Para utilizarlo, necesitas un cliente instalado en tu ordenador (yo uso Amphetadesk aunque me consta que no es el mejor ni el mas simple de configurar). Con él, te suscribes a los feeds que te interesen, y periodicamente, el programa los va revisando y tomando nota de las novedades. Cuando tu consultas tu lista de suscripciones, obtienes de un vistazo todas las novedades en tus páginas favoritas, sin tener que visitarlas una por una. Generalmente en un feed se ofrece el titular y un breve resumen de un articulo, con un enlace al texto completo. Algunos clientes permiten ordenar tus feeds en categorías, configurar el tiempo entre revisiones, enviarte un mail o un mensaje instantáneo cuando tus feeds se actualicen…
En resumen, los RSS pueden permitirte un ahorro de tiempo considerable si hay muchas páginas que ‘debas’ visitar todos los dias, aunque pronto terminas suscrito a *demasiados* feeds que al final terminan consumiendo más tiempo del que perdías al principio :(.

Otras aplicaciones que pueden aprovecharse de esta tecnología son las listas de tareas pendientes (recientemente patentadas por Microsoft :| ) , listas de correo, foros, grupos de noticias, buscadores, carteleras de cine… ahora mismo se me vienen a la cabeza un montón de posibilidades, y aun hay más que a nadie se le han ocurrido todavia.

La combinación de esta tecnología con el sistema de descargas BitTorrent es evidente. No es necesario visitar las páginas de torrents habituales cada dia, para ver si ya salió el nuevo episodio de Midori no hibi o de Samurai Champloo :). Te suscribes a un feed y configuras el cliente bittorrent para que lo compruebe cada pocas horas y automáticamente comience la descarga de las series indicadas.

Cuando una página no ofrece un feed RSS generado a partir de su base de datos (que es lo razonable) la única opción que nos queda es ‘rascar’ el texto o el código de la página web en cuestión, rebuscar entre la basura: estudiar su estructura, buscar patrones en la misma y a partir de estos patrones extraer el contenido que nos interesa, para despues generar el feed nosotros mismos a partir de esos fragmentos de contenido. Es una manera cutre, casi artesanal pero bastante divertida: programar contando con el riesgo de que un cambio mínimo en la página que estamos manejando nos puede tirar por los suelos el feed. Queda el consuelo de que la red semántica será realidad algún dia, y entonces serán agentes inteligentes quienes lean las páginas por nosotros y nos cuenten lo que nos interesa, adaptándose a los cambios de forma y presentación del contenido mediante algoritmos heurísticos, genéticos, adaptativos, o yo que sé. Cosas para niños mayores.

Como a esta tonteria se le coge pronto el vicio, ahora mismo tengo en desarrollo (aún no habiendo terminado de depurar el de frozen layer) un scraper que ofrece un rss a partir de una busqueda en Google, y uno de un periodico local, El norte de Castilla que creo que me va a costar bastante más.

¿A que viene esta manera de desbarrar sobre siglas extrañas?. Mi windows ha fallecido, estoy actualizando una distribución de linux que hace meses que no usaba, y aun me quedan unos 300mb de paquetes por bajar. Me aburro mucho.

Un comentario en “RSS, Bittorrent y screen-scraping”

Los comentarios están cerrados.