¿Qué sería de Internet sin los bots? Esos pequeños hijos de puta programas que nos joden ayudan día a día.
Es bastante dificil hacer una definición formal, porque es un término que engloba muchas cosas, pero yo diría que un bot es un programa diseñado para realizar tareas repetitivas, en muchas ocasiones imitando el comportamiento humano, y en la mayoría de los casos, utilizando recursos externos. Un tipo especial de bots son los crawlers (arañas, spiders…), su misión reunir información, normalmente recorriendo internet, y procesarla de distintas maneras. Los términos bot y crawler se suelen usar como sinónimos.
Un ejemplo de crawler que todos conocemos es GoogleBot: recorre la Red e indexa páginas web y documentos para el buscador Google.
Vamos a empezar esta pequeña serie de desarrollo de bots enumerando las herramientas básicas que necesitaremos para crear nuestros bichitos…
Firefox
Todos lo conocéis. No tiene rivales en cuanto a complementos se refiere. Y eso es lo que necesitamos, pequeñas utilidades que nos den acceso rápidamente a la información que deseamos. ¿Para qué rompernos la cabeza?
Firebug
Creo que este plugin para firefox es lo mejor que nos ha pasado a los desarrolladores web después de la cafeína. Puedes ver y editar cualquier parte de una web en vivo, desde el css al javascript. ¡Genial!
TamperData
Este plugin te permite interceptar las peticiones que salgan de tu navegador y ver todos los detalles del HTTP, desde el referer hasta los parámetros POST. No es lo mejor que hay para esto, pero es el que he usado desde hace mucho tiempo, y le tengo cariño.
XPather
Otro plugin para firefox, selecciona cualquier elemento de la página, pulsa botón derecho y tendrás al momento su xpath. Imprescindible.
Python
A día de hoy recomiendo la versión 2.7.x en 32 bits.
Dreampie
La consola interactiva para Python con la que siempre soñastes. ;)
Selenium
Está pensado originalmente para automatizar pruebas sobre páginas web usando un navegador real, pero es tan potente que podemos utilizarlo para muchas maldades.
Además, si eres más vago que un charco, existe un plugin para firefox con el que puedes guardar tus acciones directamente en el lenguaje que quieras (Selenium IDE).
Sikuli
Automatiza cualquier cosa que se te ocurra dentro de un entorno gráfico utilizando capturas de pantalla y jython. Una gran idea.
Y esto es todo por hoy. Como soy un desastre estoy seguro de que se me habrán olvidado la mitad de las cosas, pero a medida vaya escribiendo iré actualizando el post.