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:
Web - Wiki - Foro
http://www.rubyrailways.com/data-extraction-for-web-20-screen-scraping-in-rubyrails-episode1/