Desafío Python: Aprende creando un ranking de podcast con 'web scraping'

Un proyecto completo de principio a fin, desde el planteamiento inicial hasta el despliegue en la red. Captura datos de una fuente externa y aporta valor. Todo gracias a la programación con Python. ¡Aprendiendo a la vez que vosotros!

01. ¿Por qué Python?

Razones y motivos para considerar Python como una buena alternativa.

02. Presentación del desafío

Hay que empezar por el principio: planificar el proyecto. Definimos que es el scraping: capturar información desde la web y convertirla en datos útiles.

05. Básicos de python: funciones

Terminamos en las funciones.

06. Primer scraping

Nuestras primeras pruebas con Wikipedia

10. Guardar más de una página de resultados

Desarrollamos la lógica para capturar múltiples datos.

12. Refactorizando: Clase de scraping

Refactorizamos el código para crear la primera clase y comenzar la POO.

13. Refactorizando: Clase de generación de ranking

Seguimos refactorizando, ahora le toca al corazón de la aplicación.

14. Refactorizando: Clase de almacenamiento

Finalizamos la primera tanda de refactorización con la clase de datos.

15. Creando la web con Flask

Unas pocas líneas de código y ya hemos creado un acceso web.

16. Exportar los datos como API

Conectamos con el mundo la app a generando una API en formato JSON.

17. Virtualizando el entorno

Virtualenv para crear un entorno separado del resto.

18. Desplegando en la nube de heroku

Primer despliegue del proyecto en la nube. No será el último.

19. Refactorizando de nuevo la app

Más refactorización, nunca hay que dejar de mejorar.

20. Fichero de configuración

Añadimos un sistema para los parámetros de la aplicación.

21. Base de datos en JSON: TinyDB

Creamos la base de datos sin cambiar el almacenamiento en ficheros.

22. Guardar datos del histórico

Comenzamos a almacenar datos del ranking en serie temporal.

23. Recuperando los datos de TinyDB

Capturamos los datos guardados para mostrarlos en la plantilla.

24. Añadir Sparkline para mostrar la tendencia

Vamos a utilizar los datos para dibujar la tendencia de la serie.

25. Reorganizando el código en un package

Refactorizamos de nuevo, esta vez para crear un paquete de Python.

26. Despliegue en PythonAnywhere

Publicamos la app en la nube, de nuevo.

27. Colofón del curso de Python

Broche final para el desafío. ¡A partir de aquí continua creando!