Uno de los problemas más comunes en el control de calidad (QA) para el web scraping, aunque desarmante en su trivialidad, es garantizar que el scraper recopile todos los elementos del sitio web de destino.
Es un problema de calibrar continuamente una herramienta que mide un objeto en constante cambio.
Desde las más fáciles de detectar hasta las más desafiantes (lo que no quiere decir fáciles de resolver...), tenemos las siguientes causas de recopilación de datos incompleta:
Como resultado, tenemos una recopilación de datos parcial.
La mayoría de los casos de uso de web scraping tienen acuerdos de nivel de servicio (SLA) que pueden dar lugar a cláusulas de penalización. El control de calidad tiene como objetivo detectar el problema potencial lo antes posible, antes de que se infrinjan los SLA .
Para hacerlo, necesitamos aumentar la tasa de detección de fallas (FDR) y reducir la tasa de falsas alarmas (FAR). Con una cereza en la parte superior: mantener los costos bajos .
Podemos monitorear el conteo de elementos a lo largo del tiempo y activar una alerta cuando esto cae. Es un buen punto de partida, pero si bien es eficaz con cambios repentinos (es decir, una caída del 50 %), es menos funcional cuando las variaciones son incrementales, generando demasiadas falsas alarmas (FAR) o fallando en la detección de errores.
Esto sucede porque:
La limitación más crítica de este método es que no detecta elementos faltantes si nunca han sido capturados por el raspador.
Ejemplo
Un sitio web de comercio electrónico de moda puede tener una categoría de "ventas" del sitio web que solo aparece durante los períodos de ventas oficiales. Si construye su raspador cuando la sección no está allí, es posible que nunca se dé cuenta de que le faltan los artículos de venta.
La inspección manual brinda la mayor confianza en los resultados, como se explica en esta publicación . Proporciona lo que se conoce como Ground Truth, y puede comparar el recuento de elementos que recopiló con el recuento de elementos realizado manualmente.
Limitaciones:
Esto mantendría una buena tasa de falsas alarmas (FAR) pero no lograría una tasa de detección de fallas (FDR) razonable, ya que la frecuencia sería demasiado baja.
Una forma inteligente de resolver esto es comparar su resultado, en términos de recuento de elementos, con una colección independiente.
Para que este enfoque funcione correctamente, los datos de referencia deben ser:
Una recopilación de datos independiente (casi) no está correlacionada con su propia recopilación de datos: está correlacionada porque miran el mismo objeto, por lo que una falla del objeto observado causaría una pérdida en ambas recopilaciones de datos, pero por otro lado, son re resultados de procesos independientes, escritos por am mantenidos por diferentes equipos, con diferentes técnicas.
El uso de una fuente de datos altamente confiable aumenta considerablemente la confiabilidad de los resultados.
Supongamos que su tasa de detección de fallas (FDR) actual es del 90 %, lo que significa que su sistema puede detectar automáticamente el 90 % de las veces que un raspador recopila solo parcialmente del sitio web. O, en otros términos, su conjunto de datos, cuando se publica, contiene el 90 % de las veces una colección completa.
Si suponemos que los datos de referencia son
a) tan capaz de detectar errores como los datos de producción
b) independiente
Dado que los conjuntos de datos de Data Boutique incorporan inspecciones manuales en su proceso de control de calidad, usar los datos de Data Boutique como punto de referencia es escalable , rentable y una forma confiable de mejorar el proceso de Garantía de calidad (QA) incluso cuando hace web-scraping internamente porque es muy probable que los conjuntos de datos publicados en Data Boutique excedan esos niveles de FDR.
Las dos estructuras de datos no tienen que ser iguales: solo está comparando recuentos de elementos y no necesita la misma estructura, lo que hace que sea muy fácil de implementar. Solo la granularidad tiene que ser comparable.
Puede seleccionar la frecuencia de su control de calidad que puede ser menor que la frecuencia de su adquisición (si adquiere artículos diariamente, solo puede tener puntos de referencia semanales, lo que aún contribuiría mucho a mejorar las pruebas de calidad de datos).
Dado que los datos de Data Boutique son fraccionables (como se explica en esta publicación ), el costo de comprar estos datos puede ser muy bajo si se compara con todas las demás medidas de calidad.
En otras palabras, incluso si la estructura de datos de Data Boutique no es una combinación perfecta para su caso de uso, usarla para Pruebas de calidad es un enfoque muy eficiente.
Data Boutique es una comunidad para intercambios de datos web sostenibles, éticos y de alta calidad. Puede navegar por el catálogo actual y agregar su solicitud si un sitio web no está en la lista. Guardar conjuntos de datos en su lista de interés permitirá a los vendedores dimensionar correctamente la demanda de conjuntos de datos e incorporarse a la plataforma.
Puede encontrar más información sobre este proyecto en nuestros canales de Discord .
También publicado en Data Boutique