A veces resulta complicado explicar en qué consiste el scraping y la automatización.
En resumidas cuentas, casi siempre se trata de leer información de un sitio y luego escribirla en otro.
No hay ninguna diferencia entre hacer esta tarea a mano o dejar que la haga el ordenador, pero como es de suponer, la automatización puede trabajar de forma ininterrumpida y a gran velocidad.
Para el ejemplo de hoy, vamos a imaginar que hemos de leer un texto y mecanografiarlo.
Programaremos un pequeño bot para que haga esta tarea.
Esta será la web sobre la que vamos a «trabajar».
Voy a elegir cualquier ejercicio, no importa cual.
La idea es leer los caracteres que vayan apareciendo –SCRAPING– y que nuestro programa los vaya tecleando –AUTOMATIZACIÓN– en el navegador.
Quiero aclarar que cada vez que entramos en uno de los ejercicios la web genera las pulsaciones de forma aleatoria, es decir, si tenemos:
jmfm uff vj umv umuf...
al repetir el ejercicio la web nos mostrará otra secuencia, por ejemplo:
jff jmfrm jjmu jufjv...
Para realizar la tarea usaré UBot y ExBrowser.
SCRAPING
El primer paso es averiguar donde está la cadena de texto (información) que hemos de leer para luego poder teclearla.
A esta tarea la podemos llamar hacer scraping.
Analizaremos el código fuente de la web. En este caso es muy sencillo, vemos una etiqueta input con un identificador y un atributo value donde se encuentra el texto del ejercicio.
Para tener acceso a este elemento, codificamos la expresión XPath correspondiente, por regla general los id son únicos y no tendremos que rebuscar demasiado.
Una expresión válida sería:
//*[@id="ctl00_ContentPlaceHolder1_ExerciseControl1_TextBoxToDo"]
o bien:
//input[@id="ctl00_ContentPlaceHolder1_ExerciseControl1_TextBoxToDo"]
Como estamos usando UBot pondremos el prefijo x: a la expresion XPath y mediante la función $ExBrowser Scrape Element Attribute extraemos la cadena que contiene el atributo value.
AUTOMATIZACIÓN
Una vez capturamos la información, tendremos que teclearla sobre el mismo navegador.
Este paso de introducir datos sobre el navegador, podríamos considerarlo una automatización.
Mediante el comando ExBrowser Type Text2 pulsamos cada una de las teclas del ejercicio introduciendo con una pausa aleatoria entre 10 y 20 milisegundos entre pulsación y pulsación.
Y eso es todo.
¿El resultado? miles de pulsaciones por minuto.
Y no solo se trata de velocidad, sino que también conseguiremos eliminar los errores.
Si te ha gustado este artículo, puedes continuar leyendo cómo extraer datos de una web a Excel, un proceso que con algunas diferencias, sería similar al que acabamos de ver.