Detectar bots de scraping mediante el comportamiento de scroll

Detecting scraper bots through scroll behaviour

Detectar bots de scraping mediante el comportamiento de scroll

Un investigador ha aplicado los coeficientes de ráfaga (burstiness) y memoria a los eventos de scroll para distinguir humanos de bots. En pruebas con el conjunto de datos FP-Agent, un modelo LightGBM con solo dos características logró una precisión del 73,4%. El autor sugiere que este método podría proteger sitios como Wikipedia, aunque reconoce que necesita combinarse con otras señales para ser efectivo en entornos reales.

El comportamiento de scroll parece ser un punto de datos relevante para distinguir bots de humanos, y la ráfaga y la memoria han demostrado tener poder predictivo en un entorno controlado.
  1. xp84

    Me pregunto si llegaremos a un punto en el que algunos sitios querrán ser lo más amigables posible con los bots (ojalá simplemente pasen a tener APIs públicas con límites de velocidad sensatos para que todos ahorremos tiempo y ancho de banda), mientras que el resto querrá lo contrario.

    Si ofreces un servicio y los agentes de IA realmente despegan hasta el punto en que la gente diga "Claude, cómprame una manguera de ducha nueva de unos 5 pies, níquel cepillado. Usa mis criterios de evaluación habituales y no gastes más de $20", entonces muchas tiendas de comercio electrónico tienen muchísimos incentivos para ser amigables con los bots.

    Y por supuesto, cada sitio de "contenido" es lo contrario, queriendo no desperdiciar su ancho de banda y esperando conseguir acuerdos exclusivos de contenido de pago con cualquier entidad que pueda querer hacer scraping.

  2. bryanrasmussen

    Bueno, es gracioso porque cuando escribía mi bot dirigido a una plataforma concreta, hacía muchas de estas cosas, porque era paranoico y no quería que me bloquearan, así que lo que hacía era:

    detectar todos los elementos en la página actualmente cargada con los que quería hacer cosas. elemento que quería hacer clic. desplazarme hasta el elemento que quería hacer clic. acción de desplazamiento aleatoria del viewport, pasar ligeramente el viewport, volver a subir, determinar la posición de la boca donde haré clic - x, y centro del elemento clicable, determinar x, y del cuadro delimitador del elemento clicable, elegir algún punto dentro del cuadro delimitador donde pueda hacer clic con algo de aleatoriedad para llegar al centro porque obviamente los humanos no aciertan el centro exacto cada vez, ¿verdad?. establecer velocidad de movimiento del ratón aleatoria. función de entrecortamiento del ratón (determinar un número de coordenadas x.y en el camino hacia el x.y donde realmente haré clic, moverse hacia esos puntos por turnos con aleatoriedad en la velocidad del ratón, para que nadie pueda decir: oye, este ratón se mueve hacia el lugar donde hará clic con un movimiento antinaturalmente directo y antinaturalmente suave). Llegar a donde haré clic. esperar un tiempo aleatorio para hacer clic. hacer clic.

    Si no sigo obteniendo nuevos elementos que quiero hacer clic según mis criterios solo con este método, ahora necesito desplazarme para ver si puedo detectar nuevos.

    número aleatorio de veces que me desplazaré. velocidad de desplazamiento aleatoria. distancia de desplazamiento aleatoria.

    comenzar desplazamiento. alcanzar distancia de desplazamiento, detenerme. desplazamiento aleatorio hacia arriba y abajo.

    Mi objetivo de automatización no era hacer que mi bot pudiera hacer el trabajo de cientos de personas. Era hacer el trabajo de una.

  3. ventana

    ¡Eso es genial!

    Estaba experimentando con el tráfico de Google Ads en uno de los sitios web que me importaban, e incluso solo mirar la existencia de eventos de movimiento del ratón y desplazamiento, sin mencionar los patrones, me hizo entender cuántos bots, o usuarios que simplemente (mal)hicieron clic en el anuncio y nunca realizaron ninguna acción en mi sitio web, se contaban como clics de pago en Google Ads. Analizar patrones como en este artículo habría tenido aún más sentido.

Más de este día

2026-08-21