En la siguiente sección se encuentra el código implementado para hacer el scraping. En las secciones posteriores no se va a profundizar en las librerias ni en el funcionamiento del código, más allá de eso nos enfocaremos en las razones que tenemos para usar Python y Selenium por sobre otros métodos y lenguajes:
Python es una opción popular y sólida para el desarrollo web en comparación con varios otros lenguajes de programación. Al final, puede que la elección del lenguaje sea cuestión de comidad, familiaridad y/o costumbre y facilidad de implementación. Sin embargo, aquí enlistamos algunos lenguajes comunes con los que Python compite y por qué podría preferirse en ciertos casos:
- Java: Java es conocido por su robustez y rendimiento, especialmente en aplicaciones empresariales. Mientras que Python ofrece una sintaxis más limpia y legible, lo que facilita el desarrollo rápido y la mantenibilidad del código. Además del hecho de que Python tiene una curva de aprendizaje más suave y una comunidad muy activa que ofrece una gran cantidad de bibliotecas y frameworks para el desarrollo web.
- PHP: PHP ha sido tradicionalmente popular para el desarrollo web debido a su integración con servidores web y bases de datos. Mientras, Python ofrece mejores capacidades para el análisis de datos y el machine learning, lo que puede ser beneficioso si el proyecto requiere integración con estas áreas. Además, Python tiene frameworks web sólidos como Django y Flask que facilitan el desarrollo ágil y escalable de aplicaciones web.
- Ruby: Ruby on Rails es conocido por su rapidez en el desarrollo de prototipos y su comunidad apasionada. Sin embargo, Python ofrece una sintaxis más versátil y es ampliamente utilizado en ciencia de datos y análisis, lo que puede ser útil si el proyecto requiere integrar estas capacidades junto con el desarrollo web.
En general, Python es elegido sobre otros lenguajes para el desarrollo web debido a su sintaxis clara, amplias bibliotecas y frameworks, fuerte comunidad de desarrolladores, y su capacidad para integrarse bien con otras áreas como análisis de datos, machine learning y scripting. La elección entre Python y otros lenguajes dependerá de los requisitos específicos del proyecto, las habilidades del equipo y las preferencias personales.
A continuación enlistamos algunas razones por las cuales se podría preferir Selenium por sobre otros métodos de extracción de información web (webscraping):
- Interacción con JavaScript: Selenium puede manejar páginas web que cargan contenido dinámicamente a través de JavaScript. Si una página utiliza JavaScript para cargar datos o interactuar con el usuario, Selenium puede ejecutar ese JavaScript y obtener el contenido resultante.
- Escenario complejos de scraping: En algunos casos, el scraping convencional con "requests" y "BeautifulSoup" puede no ser suficiente si el sitio web requiere autenticación, tiene contenido dinámico que no se puede cargar directamente con requests, o si necesita realizar múltiples acciones en una sesión de navegación.
- Automatización de navegadores: Selenium permite automatizar la interacción con navegadores web reales, como Chrome, Firefox, o Edge. Esto es útil cuando necesitas simular acciones humanas como hacer clic en botones, completar formularios o navegar por varias páginas.
En conclusión, la implementación de alguno u otro método con alguno u otro lenguaje dependerá de las necesidades específicas del proyecto en cuestión. El conocimiento y la comprensión de distintos métodos y lenguajes equivaldrá a una mayor colección de herramientas distintas con las cuales hacer juego para encontrar las soluciones más optimas y que se ajusten a las necesidades particulares del desarrollador.