El nacimiento de un bot de rastreo web – PromptCloud

Publicado: 2019-02-27
Mostrar tabla de contenido
Etapa 1. Comprender cómo reacciona el sitio a los usuarios humanos
Etapa 2. Familiarizarse con el comportamiento del sitio con un bot
Etapa 3. Construcción del bot
Etapa 4. Poner a prueba el bot
Etapa 5. Extracción de puntos de datos y procesamiento de datos

Los bots de rastreo web han sido un componente imperativo en el éxito de las empresas desde hace bastante tiempo. El comercio electrónico, los viajes, los trabajos y los anuncios clasificados son algunos de los principales dominios que emplean robots rastreadores en el centro de su estrategia competitiva.

Entonces, ¿qué hacen realmente los bots de rastreo web? En su mayor parte, atraviesan cientos de miles de páginas en un sitio web, obteniendo fragmentos importantes de información según su propósito exacto en la web. Algunos bots están diseñados para obtener datos de precios de portales de comercio electrónico, mientras que otros extraen reseñas de clientes de agencias de viajes en línea. Y luego están los bots diseñados para recopilar contenido generado por el usuario para ayudar a los ingenieros de IA a crear corpus de texto para el procesamiento del lenguaje natural.

En todos estos casos de uso, se debe crear un robot de rastreo web desde cero para un sitio web de destino, en función de los puntos de datos que necesita extraer de ese sitio. En PromptCloud, hemos estado construyendo bots de diferentes complejidades, para una variedad de industrias y casos de uso. Con nuestros años de experiencia en rastreo web, hemos formulado un proceso paso a paso que hace que la creación de bots sea más fácil y eficiente. Repasemos rápidamente los pasos necesarios para la creación de un bot de rastreo web.

Etapa 1. Comprender cómo reacciona el sitio a los usuarios humanos

Antes de que podamos construir un bot para rastrear un nuevo sitio web, debemos saber cómo interactúa el sitio con un ser humano real. En esta etapa, nuestros ingenieros prueban el nuevo sitio web de destino para tener una idea de la navegación del sitio utilizando un navegador normal como Google Chrome o Mozilla Firefox. Esto arroja algo de luz sobre la interacción navegador-servidor que revela cómo el servidor ve y procesa una solicitud entrante. Por lo general, implica jugar con encabezados de solicitud y tipos de solicitud a través de http. Esto establece la base para construir el bot, ya que el bot imitaría de alguna manera a un usuario real en el sitio web de destino.

Etapa 2. Familiarizarse con el comportamiento del sitio con un bot

Como parte del segundo paso, nuestros ingenieros enviarán algo de tráfico de prueba de manera automatizada para comprender las diferencias entre el sitio interactúa con un bot en comparación con un usuario humano. Esto es necesario ya que la mayoría de los sitios web modernos tienen ciertos mecanismos incorporados para lidiar con los bots de manera diferente. Comprender estos mecanismos nos ayudaría a elegir el mejor camino de acción para construir el bot. Algunos ejemplos comunes son:

  • El sitio limita la navegación normal después de, digamos, 20 páginas.
  • La solicitud devuelve un código de estado 301
  • El sitio lanza un captcha en respuesta
  • El servidor devuelve un código de estado 403: esto significa que el sitio se niega a atender nuestra solicitud a pesar de entenderla
  • Acceso restringido desde una determinada geografía (aquí es donde los proxies entran en escena)

La mayoría de los sitios web tienen dos caras, tratan a los usuarios humanos y a los bots de manera diferente: en su defensa, los protege de los bots malos y varias formas de ataques cibernéticos. Es posible que en algún momento te hayas encontrado con un sitio web que te pide que demuestres tu humanidad para acceder a una determinada página o función. Los bots se enfrentan mucho a esto. Es por eso que realizamos esta prueba para comprender completamente el sitio desde el punto de vista de un bot.

También tenemos una capa automatizada que luego se usa para identificar el mejor enfoque para construir el bot para rastrear un sitio web en particular. Realiza una prueba de estrés leve en el sitio para detectar sus puntos de inflexión y luego devuelve información crucial que se utiliza para hacer que el bot rastreador, como Suspender, Proxy / Sin proxy, Captcha, Número de posibles solicitudes paralelas y más.

Etapa 3. Construcción del bot

Una vez que nuestros ingenieros hayan obtenido un plano claro del sitio de destino, es hora de comenzar a construir el robot rastreador. La complejidad de la construcción dependerá de los resultados de nuestras pruebas anteriores. Por ejemplo, si solo se puede acceder al sitio de destino desde, digamos, Alemania, tendremos que incluir un proxy alemán para buscar el sitio. Asimismo, dependiendo de las demandas específicas del sitio, puede haber hasta 10 módulos trabajando juntos en un bot.

Etapa 4. Poner a prueba el bot

Al ser un proveedor de servicios de web scraping de nivel empresarial, damos máxima prioridad a la confiabilidad y la calidad de los datos. Para asegurarse de esto, es importante probar el bot rastreador en diferentes condiciones, dentro y fuera del horario pico del sitio de destino antes de que puedan comenzar los rastreos reales. Para esta prueba, tratamos de obtener un número aleatorio de páginas del sitio en vivo. Después de medir el resultado, se realizarán más modificaciones al rastreador para mejorar su estabilidad y escala de operación. Si todo funciona como se esperaba, el bot puede entrar en producción.

Etapa 5. Extracción de puntos de datos y procesamiento de datos

Nuestros bots rastreadores funcionan de manera diferente a los rastreadores de motores de búsqueda con los que la mayoría de la gente está familiarizada. Mientras que los bots de los motores de búsqueda, como el bot de Google, simplemente rastrearían páginas web y las agregarían a su índice con algunos metadatos, nuestros bots obtienen el contenido html completo de las páginas en un espacio de almacenamiento temporal donde se someten a extracción y otros procesos dependiendo de requisitos del cliente.

Llamamos a esta etapa la Extracción y aquí es donde los puntos de datos requeridos se extraen de las páginas web descargadas previamente. Una vez que se extraen, los datos se escanean automáticamente en busca de entradas duplicadas y se deduplican. El siguiente proceso en línea es la normalización, donde se realizan ciertos cambios en los datos para facilitar el consumo. Por ejemplo, si los datos de precios extraídos están en dólares, se pueden convertir a una moneda diferente antes de entregarlos al cliente.

Ese fue un recorrido rápido de cómo nuestros ingenieros abordan una nueva compilación de bot de rastreo web. Tenga en cuenta que la alta eficiencia de los bots también depende del entorno del servidor y del nivel de optimización que hemos logrado a lo largo de los años. Una infraestructura y una pila de tecnología estables son esenciales para extraer millones de registros de datos a diario, sin que haya dos bots iguales.