Somos esbirros de contraespionaje de Diabetisa SA, una corporación que fabrica chucherías y que compite con otro gran conglomerado alimentario, Megasucrón GmbH.
Nuestro infiltrado en Megasucrón GmbH, antes de ser identificado, torturado y eliminado por operativos de seguridad corporativa, nos advirtió que Megasucrón estaba llevando a cabo un scrapeo con bots de los precios de algunas chucherías en nuestra web; nos gustaría saber qué chucherías consideran importantes.
Hemos recopilado, para cada página de nuestra web, los datos de tiempo de presencia por visita durante 1 día: para cada visita, guardamos los segundos de permanencia en la página.
Estos datos se encuentran en el directorio data/.
Examinando estos datos y usando la cabeza,
- vamos a cargar los datos de csv en un formato conveniente, eg. ndarray de numpy o DataFrame de pandas
- vamos a representar los datos gráficamente; qué representaciones nos pueden ayudar?
- representar todo en una misma gráfica vs. en gráficas separadas?
- cuidado con los ejes autoajustados: para comparar gráficas distintas tienen que compartir escala y límites
- podemos identificar, a ojímetro, qué páginas están siendo scrapeadas y qué páginas no? Qué criterio usamos?
- podemos estimar, a mano, qué número aproximado de nuestras visitas diarias se debe a bots y qué número a personas?
- podemos escribir un programa que, dado un array de tiempos de permanencia, devuelva
True
si está siendo scrapeada yFalse
en otro caso?
- El histograma es la herramienta fundamental cuando te enfrentas a datos univariados (y en otros casos también)
- El concepto de moda, distribuciones multimodales
Vamos a empezar a tomar contacto con el stack moderno de python de computación científica, todo instalable con pip:
Notebook es muy útil para análisis de datos porque se puede mezclar código, gráficas y texto con poco esfuerzo; la solución será un notebook que subáis a vuestro github.
Se puede commitear el notebook (.ipynb) y github tiene un visualizador que lo renderiza: hay un ejemplo básico de una interacción trivial en example.ipynb que os puede servir como punto de partida.