Archive for Marzo, 2008

Enviar email a través de gmail generando y adjuntando un PDF

Domingo, Marzo 30th, 2008

Con esta tarea me ví envuelto una mañana y que, gracias a la buena documentación internauta, fue menos doloroso de lo que en un principio pensé. No he hecho un paso a paso porque me parece tan simple que es mejor verlo, probarlo uno mismo y sacar tus propias conclusiones en local con todo montadito. Eso sí, os dejo algunas indicaciones de algunos detalles que hay que configurar.

El tema del PDF lo solucioné gracias a la ayuda de Dagi3d y Flying Saucer: Un generador de PDFs a través de XHTML y CSS la mar de sencillo hecho en JAVA.

A configurar solo tendreis que, en config/initializers/gmail_conf.rb, indicar las credenciales de la cuenta de gmail desde donde se enviarán los emails (:user_name y :password). Y en config/initializers/java_conf.rb deberemos indicar el path hasta nuestro directorio java.

Como me molesta mucho que las aplicaciones perezcan en el tiempo por colgarlo en hostings personales y demás, la cuelgo en Google Code que seguro que perdurá por los siglos de los siglos, ¿verdad n3uro5i5? :P

Descárgatelo en Google Code

scRUBYt!: WWW::Mechanize && Hpricot on Steroid

Domingo, Marzo 16th, 2008

Lo que empezó como una curiosidad se ha convertido en mi día a día. Eso sí, tirando de una opción de “alto nivel” en este mundo del Web Scraping: scRUBYt!

Esta herramienta nos da muchisimas posibilidades. Ya sea obtener resultados a través de terceras páginas (resultados Google, la temperatura de una localidad a través de Instituto Nacional de Meteorología,…) y crearnos un bonito mashup. Acceder al deep web, la información de sus bases de datos, de las aplicaciones web que nos interesen. Imaginación al poder.

Todo esto lo podremos hacer con las dos funciones fundamentales de scRUBYt!: navegar: traerse la página, clickar enlaces, rellenar inputs, traerse resultados paginados,… y hacer scraping sobre la información obtenida.

La primera de ellas lo consigue con WWW::Mechanize, el motor de navegación, el cuál tiene un buen problema a expensas de ser pronto solucionado: no interpreta el código Javascript. Hasta que esto cambie tenemos una alternativa: FirescRUBYt! (scRUBYt! y Firewatir), que suplirá dicha deficiencia usando Firefox para navegar (con JS, claro) y traerse la información (prometo escribir sobre como hacer funcionar toda historia).

Por otro lado, aunque el resultado del scraping lo podemos obtener en diferentes formatos, el más común es XML que, tratado con HPricot, hacen que trabajar con los resultados sea muy sencillo.

La verdad es que esta herramienta me ha permitido llegar de manera rápida y sencilla a toda la información que he necesitado de las aplicaciones web, aunque durante el desarrollo he echado bastante en falta que el metodo next_page funcionase (espero que en una pronta versión lo venga haciendo :-).

Os dejo mi ejemplillo de traductor con scRUBYt!
scrubyt rails ruby ror
Copialo

Enlaces de interés:
WebWikiForo
http://www.rubyrailways.com/data-extraction-for-web-20-screen-scraping-in-rubyrails-episode1/

Mi “blog” de notas

Lunes, Marzo 3rd, 2008

Pues nada, de aquí en adelante me voy a escribir toda tontería que consiga hacer Rails. Mil veces me habrá pasado eso de superar un problema y trás bastante tiempo tener que volver a enfrentarme al problema como si fuese la primera vez. Memoria de pescao que tiene uno.

He superado mucho durante este primer año de desarrollo con Rails. Ni imaginar lo que he olvidado ya