Existe dos tipos de páginas Web, las Estáticas y las Dinámicas. Las páginas Estáticas mandan y reciben datos de los servidores web, son páginas que rara vez cambian su código y que en situación económica son más baratas que las Dinámicas. Por otro lado, las páginas Dinámicas, parte de su código está en una base de datos en la nube. La diferencia es que su código no está todo el tiempo en el servidor como es el caso de las estáticas, sino que constantemente esta consultando cambios en el código. Este tipo de páginas se suele a usar para dominios que constantemente están subiendo nueva información.
En el curso de Fundamentos de Web Scraping, nos enseñaron a usar xmlx, python y requests. Estás herramientas son bastante útiles para poder extraer información de páginas web estáticas. Pero si lo intentas en las páginas web Dinámicas, te toparás que la información te mandará como resultado un []. Algo que puedes utilizar para ver si la página web es Dinámica o Estática, es ctrl + U. Cuando despliegues el código fuente podrás compararlo con la consola del navegador con F12. En caso de que veas cambios entre los dos códigos, significa que es una página Dinámica. Para estos casos es mejor que uses: Web driver, Selenium y BeautifulSoup.
Web Driver : Es un gestor para abrir páginas web, le puedes poner un delay para poder abrir las páginas que quieres consultar
**Selenium ** : Es una herramienta de automatización, que te permitirá abrir y cerrar páginas solo con el código, una vez que aceptes las cookies de las páginas, podrás acceder a la información del código dinámico.
**BeautifulSoup ** : Es una herramienta como Requests, pero usa más de cerca Xpath, te recomiendo checar su documentación, tiene cosas interesantes.
Te invito a ver más de estás herramientas en los cursos de Scrapy y Extracción de Datos en la Web