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.
03. Básicos de python: Shell, tuplas y listas
Primeros pasos con Python
04. Básicos de python: pip y librerías
Seguimos por las librerías.
05. Básicos de python: funciones
Terminamos en las funciones.
06. Primer scraping
Nuestras primeras pruebas con Wikipedia
07. Extrayendo información del scraping
Refactorizamos nuestro código.
08. Scraping del listado de podcasts
Capturando información de la buena.
09. Diccionarios y almacenamiento de datos
Guardamos datos en disco.
10. Guardar más de una página de resultados
Desarrollamos la lógica para capturar múltiples datos.
11. Básicos de Python: Orientación a objetos
Una introducción a la POO.
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!