WGET, Y PIDE POR ESA BOQUITA

Todos conocemos al menos alguna herramienta basada en Windows que nos permite descargar los documentos, imágenes, etc. de un sitio completo si lo deseamos. Basta con especificar la URL, y la aplicación se encarga de hacer una exploración de araña para descargar todos los archivos disponibles, o aquéllos del tipo que le indiquemos.

La necesidad de recuperar información desde la web, me hizo analizar hace algún tiempo la posibilidad de aprovechar alguna de estas aplicaciones. Sin embargo, al tratarse principalmente de software que precisa la interacción con el usuario, sobre todo si lo que buscamos son documentos de URL dinámica, me di cuenta entonces que no me era posible darle uso en procesos por lotes (batch) con el objetivo de recuperar una buena cantidad de datos.

Finalmente, recurrí  a mi experiencia como usuario y desarrollador de Linux, y el uso que había hecho anteriormente de la herramienta wget (no es que odie trabajar con Windows, simplemente eché mano a los recursos de los que disponía). Y ciertamente, wget es un gran recurso.

Como toda buena aplicación construida para sistemas UNIX, wget se utiliza desde la línea de comandos. Olvídate de las ventanas y las cajitas: aquí el poder está del lado de la posibilidad de construir procesos batch que tienen el potencial de recuperar documentos desde la web, de forma rápida y muy flexible. Esto, gracias a que wget es un comando que puede ser invocado desde cualquier lenguaje de programación que proporcione una API para ejecución de programas externos, como PHP, Perl o Python. Y por supuesto, los lenguajes de secuencia de comandos, bajo un entorno batch de Windows o Unix.

Las opciones de ejecución de wget ofrecen una gama increíble de posibilidades.
Con wget, es posible recuperar documentos desde sitios privados, previa autentificación, utilizando la opción de envío de datos mediante HTTP POST para el envío de los datos de usuario, y adicionalmente, usar la opción  de habilitación de cookies para mantener la sesión. ¿HTTPS? Por supuesto, y también FTP.

Asimismo, con la opción de envío con datos mediante HTTP POST, tenemos la posibilidad de enviar información relativa a formularios web, y con un sencillo programa batch, ingresar muchos formularios en una sola ejecución;  si lo hiciéramos manualmente ingresando datos en cada uno los campos de la página formulario, se nos demoraría muchas miles de veces más.

Podemos apelar a la creatividad dentro de las interesantes cosas que pueden hacerse recuperando documentos desde la web. ¿Qué cosas interesantes podrían lograrse? Yo, por dar un ejemplo, no me molesto en recuperar datos desde cada uno de los informes de Google Analytics. Simplemente, recupero todos los informes en formato XML con wget, y en complemento con mi lenguaje de programación favorito, obtengo la información que necesito.

Si has usado wget, puedes contar aquí cómo te ha ido. Muy probablemente hayan sido buenas experiencias.

Autor:

Fundador de Metriplica y socio de la consultora Multiplica Licenciado en Ciencias y técnicas estadísticas. Programador Mainframe Profesor de Masters y Postgrados en diversas universidades y escuelas de negocio.

Leave Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.