La empresa XYZ Corp está interesada en analizar el mercado laboral del sector tecnológico para identificar tendencias y oportunidades. Para ello, plantea un reto a las personas del equipo para que presenten un Scraper funcional sobre cualquier página / temática, validando qué información se puede extraer y hasta dónde se puede llegar en el proceso.
Además, se requiere almacenar esta información en una base de datos para su posterior análisis y visualización.
- Acceder a sitios web y extraer datos.
- Obtener información estructurada.
- Normalizar y estructurar los datos extraídos para su posterior análisis.
- Almacenar la información en una base de datos SQL o NoSQL.
- Generar informes y visualizaciones de los datos recopilados.
Para la fecha de entrega, los equipos deberán presentar:
✅ Repositorio en GitHub con el código fuente documentado.
✅ Demo en vivo mostrando el proceso de extracción, almacenamiento y visualización de datos.
✅ Presentación técnica, explicando los objetivos, desarrollo y tecnologías utilizadas.
✅ Tablero Kanban con la gestión del proyecto (Trello, Jira, etc.).
- Control de versiones: Git / GitHub
- Entorno de ejecución: Docker
- Lenguaje principal: Python
- Librerías útiles: BeautifulSoup, Scrapy, Requests, Selenium
- Bases de datos: MySQL, PostgreSQL, MongoDB, Firebase
- Gestión del proyecto: Trello, Jira, Github
✅ Script que accede a un sitio web y extrae información.
✅ Limpieza y organización de datos.
✅ Documentación del código y un README en GitHub.
✅ Almacenamiento de los datos en una base de datos estructurada.
✅ Implementación de logs para trazabilidad del scraper.
✅ Tests unitarios para validar el funcionamiento del código.
✅ Uso de Programación Orientada a Objetos (OOP) para mejorar la estructura del código.
✅ Manejo robusto de errores para evitar bloqueos y baneos de IP.
✅ Automatización del scraper para actualizar periódicamente la base de datos con tareas Cron.
✅ Dockerización completa del proyecto para facilitar despliegue y escalabilidad.
✅ Implementación de un frontend interactivo para visualizar datos en tiempo real.
✅ Despliegue en un servidor accesible públicamente.
✅ Integración con múltiples sitios web de empleo para mejorar la cantidad y calidad de datos recopilados.
Familiarizarse con las técnicas de web scraping y el manejo de bases de datos para almacenar y analizar datos de ofertas de empleo.
✅ Explorar herramientas de web scraping en Python.
✅ Configurar el entorno de desarrollo (Virtualenv, Docker, etc.).
✅ Crear un script que acceda a sitios de empleo y extraiga datos clave.
✅ Limpiar y estructurar la información obtenida.
✅ Configurar una base de datos SQL/NoSQL para almacenar los datos extraídos.
✅ Implementar funciones para insertar y consultar información.
✅ Documentar el código y crear un README detallado.
✅ Preparar una presentación explicando el proceso y resultados obtenidos.
✅ Con este proyecto, XYZ Corp podrá obtener información sobre qué se puede hacer con estas tecnologías. 🚀
- Intro a Docker: https://github.com/Factoria-F5-dev/docker
- Clase de webscrepaer: https://github.com/Factoria-F5-dev/webscraper
