CodeGym /Cursos /Python SELF ES /Recopilación de requisitos y planificación de un proyecto...

Recopilación de requisitos y planificación de un proyecto de recopilación automatizada de datos

Python SELF ES
Nivel 37 , Lección 1
Disponible

Empecemos por el por qué necesitamos esto. Automatizar tareas rutinarias es como tener un robot doméstico que hace todo el trabajo aburrido por ti mientras disfrutas de la vida. Selenium es uno de esos "robots", pero en el mundo de la programación. Puede interactuar con páginas web como si fuera una persona real. Imagina que tu bot pudiera recopilar datos automáticamente, rellenar formularios o comprobar los precios de tus productos favoritos. Genial, ¿verdad?

Pero antes de comenzar un proyecto, es importante determinar qué y cómo vamos a automatizar. Vamos a revisar los pasos que nos ayudarán a planificar nuestro proyecto.

1. Análisis de requisitos del proyecto

Desglose de tareas asignadas al proyecto

En el mundo de la programación, al igual que en la cocina, antes de empezar a cocinar, es necesario comprender qué queremos obtener como resultado. La analogía con una receta es bastante apropiada: tenemos una lista de "ingredientes", es decir, los datos que necesitamos recopilar. Luego decidimos qué método "culinario" usaremos para extraerlos.

Imaginemos que trabajas en una empresa de marketing y necesitas recopilar datos sobre tus competidores. Las preguntas que te podrías hacer son:

  • ¿Qué datos necesito? Por ejemplo, precios, reseñas, calificaciones, etc.
  • ¿Cuánto tiempo llevaría hacerlo manualmente?
  • ¿Qué sitios web o servicios voy a utilizar?

Creación de una lista de datos necesarios y métodos para extraerlos

Crear una lista de los datos necesarios es un paso crucial. Ayuda a garantizar que tu bot recopile toda la información importante y no olvide nada esencial, como un calcetín perdido en la lavadora.

Supongamos que planeamos recopilar datos sobre productos en una página de una tienda en línea. Necesitamos:

  • Los nombres de los productos.
  • Los precios.
  • Información sobre la disponibilidad.

Ahora que tenemos la lista de datos, necesitamos pensar en cómo extraerlos. Para ello, podemos usar métodos de Selenium como find_element_by_id, find_elements_by_class_name y otros. Pero hablaremos más sobre esto en la próxima lección; por ahora, solo ten en cuenta que el bot será capacitado para encontrar la información necesaria como un detective experimentado.

Elección de páginas web y servicios adecuados para la recopilación de datos

Ahora es momento de una decisión importante: elegir las fuentes de datos. Es como elegir la fuente correcta de noticias en una investigación: buscamos páginas web confiables y estructuradas.

Supongamos que estamos recopilando datos sobre libros. Podríamos elegir sitios como Amazon o Goodreads. Sin embargo, es importante asegurarse de que los sitios seleccionados no tengan restricciones para la recopilación de datos. Un pequeño consejo: revisa los archivos robots.txt, que suelen contener información sobre si el web scraping está permitido en el sitio.

2. Planificación de etapas de desarrollo

Secuencia de acciones y asignación de tareas

Ahora que tenemos todos los ingredientes, es hora de planificar el proceso de "cocina". En el contexto del desarrollo, la secuencia de acciones es clave. Es como seguir un orden al hornear un pastel: primero, hacer la masa; luego, hornear. En nuestro caso, podría verse de la siguiente manera:

  1. Autenticación en el sitio (si es necesario).
  2. Búsqueda y extracción de datos.
  3. Guardar los datos en el formato necesario.

¿Qué tareas estarán incluidas en cada etapa? Recuerda que tienes toda la libertad para agregar cualquier paso que optimice el proceso.

Planificación de recursos y asignación de tareas

Si trabajas en equipo, la planificación de recursos y la asignación de tareas son fundamentales para el éxito del proyecto. Define quién será responsable de escribir el código, quién de las pruebas, y quién de las tareas domésticas... digo, de la documentación.

¿Trabajando solo? ¡No pasa nada! Simplemente divide las tareas en partes más pequeñas y establece plazos para ti mismo. No olvides revisarte: te ayudará a evitar escribir código "mágico" que sea difícil de depurar (sabemos que ese código puede no ser muy amigable).

Evaluación de riesgos y definición de formas para minimizarlos

Cada proyecto es una miniaventura y, como cualquier buena película de aventuras, puede tener sus trampas. Consideremos los posibles riesgos de tu proyecto:

  • Cambios en la estructura del sitio con el que trabaja el bot.
  • Restricciones en el número de solicitudes al sitio.
  • Errores potenciales en el código.

¿Cómo reducir estos riesgos? Siempre ten un plan "B" y prepárate para adaptarte. Por ejemplo, usa una estructura de código flexible para cambiar fácilmente los datos extraídos si el sitio cambia. O configura un límite en la cantidad de solicitudes por unidad de tiempo para evitar bloqueos.

La planificación y recopilación de requisitos es el fundamento de tu proyecto. Al principio, puede parecer que estás trabajando como un arquitecto diseñando un edificio: hay que considerar todos los detalles y sutilezas. Pero una vez que pongas esta base, tu automatización funcionará como un verdadero Stradivarius: suave y sin problemas.

¿Listo para sumergirte en el mundo de los bots automatizados? En la próxima lección, comenzaremos a crear funciones para buscar e interactuar con elementos en una página web. Será divertido, como en una película de James Bond, solo que nuestro bot será el agente 404.

3. Historia del surgimiento de Selenium

En 2004, el desarrollador Jason Huggins, trabajando en ThoughtWorks, se enfrentó a la necesidad de automatizar las pruebas de una aplicación web interna para el seguimiento del tiempo y gastos. Para simplificar este proceso, creó una herramienta en JavaScript llamada JavaScriptTestRunner, que luego se conoció como Selenium Core. Curiosamente, el nombre "Selenium" surgió de una broma: Huggins señaló que el selenio es un antídoto para el envenenamiento por mercurio, insinuando al producto competidor "Mercury Interactive".

Esta herramienta rápidamente llamó la atención de sus colegas y pronto otros desarrolladores se unieron al proyecto, como Paul Hammant, quien propuso abrir el código fuente y ampliar las capacidades de Selenium para trabajar con diferentes lenguajes de programación. Así comenzó la evolución de Selenium, convirtiéndolo en una de las herramientas más populares para la automatización de pruebas de aplicaciones web.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION