Script para monitorizar apuestas en MadBid

16

MadBid es una web de apuestas donde distintos usuario realizan pujas sobre productos cada cierto tiempo. Con el fin de obtener más información sobre el funcionamiento y evolución de estas subastas desarrollé el siguiente script.

Para más información sobre la historia de este desarrollo y otros detalles podéis consultar estos otros artículos:

En esencia, el funcionamiento del script es muy sencillo: básicamente se encarga de monitorizar el cambio de contenido de un div (a partir de su ID), que es donde aparece el nombre del jugador. Según va cambiando el contenido del div o nombre del jugador que puja (esto lo podéis ver yendo a una subasta de Madbid), el script va guardando un historial de estos cambios y generando un gráfico de los mismos.

Para ver el script en funcionamiento. lo primero que haremos es cargar una página con una de esas subastas de MadBid. Una vez cargada la página de la subasta que deseemos monitorizar, inyectamos el script en dicha página con el siguiente código:

Este código lo podemos ejecutar directamente copiándolo en la barra de direcciones de nuestro navegador,o creándonos un acceso a favoritos con dicho código.

Lo siguiente es identificar el ID del div en donde se van mostrando los nombres de los distintos jugadores. Esto lo podemos hacer fácilmente con las herramientas de desarrollo del navegador que utilicemos. En el caso de Chrome, la opción es “inspeccionar elemento”.

Reconozco que esta es la parte menos usable del script para alguien que no esté habituado a utilizar estas herramientas, pero tiene su explicación. El ID del div cambia en cada carga de la página de subastas, y aunque sigue un patrón, hubiera añadido multitud de código innecesario para lo que andaba buscando. Además, si cambiaran ese patrón habría que reprogramar el script. De esta forma, en caso de que la página cambie se podrá seguir utilizando. O yendo más allá, así sirve para monitorizar otro tipo de cambios en cualquier otra web.

En un principio el script carecía de dependencias externas, pero a raíz de utilizar la librería de HighCharts para dibujar el gráfico es necesaria la presencia de jQuery. Afortunadamente la página de MadBid hace uso de esta librería, así que está obviada del código la comprobación y carga de esta librería.

Uno de los inconvenientes que tiene el script en su forma actual es el rendimiento. Cuando el script lleva funcionando algunos horas y la cantidad de datos a dibujar es muy alta, este tarda en actualizar el gráfico. Esto provoca que al final de las subastas, cuando el tiempo entre pujas es inferior a 5 segundos, no se puedan capturar todos los datos que aparecen.

Para paliar este problema es aconsejable realizar un zoom sobre el último tramo del gráfico. De esta forma la cantidad de datos a representar será menor y el gráfico se actualizará más rápidamente. Otras opciones podrían haber sido refrescar el gráfico bajo demanda, o abrir el script en otra ventana.

Un característica importante del script es que es completamente anónimo, por lo que, aunque lo inyectemos en la página de MadBid este no afectará en absoluto al correcto funcionamiento de la misma.

Y este es el script en cuestión:

 

One Comment

  • Carlos
    26 Junio, 2013 a las 19:07 Responder

    Hola, muchas gracias por el script, estoy aprendiendo javascript con él. Pero creo que el problema de que no cuente muchas pujas no es por actualizar el gráfico, porque borre el gráfico y solo me quedé con la “caja” que cuenta las pujas y el valor tampoco coincidía. Se cuentan muy fácil al ser una puja un céntimo.
    El fallo creo que es de madbid que no actuliza lo suficiente rápido los pujadores y entonces si dos pujadores pujan muy juntos la página de madbid no es actualizada a tiempo y se salta pujadores. Este efecto se puede notar mejor si entramos dentro de un producto que nos muestra los últimos pujadores se puede apreciar que se saltan a pujadores.
    Un saludo.

Leave a Comment Post us a comment!