En este manual se realiza una introducción a un conjunto de herramientas y técnicas para el acceso y procesamiento de datos web, que se encuentran en formatos como XML, CSV o JSON, o bien en bases de datos tanto relacionales como NoSQL. El objetivo de esta obra es acercar al lector estos conocimientos a partir de las herramientas y librerías de un lenguaje de programación concreto como Python, el más utilizado hoy en el área del análisis de datos y big data. El primer capítulo constituye una introducción a Python, que sirve como lenguaje vehicular en el resto de los capítulos, los cuales se dedican a estudiar el acceso y procesamiento de datos en los formatos XML, JSON y CSV. Los siguientes capítulos abordan el acceso a bases de datos relacionales, SQLite y MySQL, y a la base de datos NoSQL MongoDB. En los dos últimos capítulos, se tratan técnicas de extracción de información usando web scraping y programación de páginas web con la framework Bottle. Cada capítulo contiene algunos ejercicios propuestos para fijar las ideas expuestas
- Prólogo
- Introducción al lenguaje de programación Python
- 1. Introducción
- 2. Variables
- 3. Palabras reservadas
- 4. Operadores
- 5. Expresiones
- 6. Comentarios
- 7. Entrada de información
- 8. Expresiones booleanas
- 9. Operaciones lógicas
- 10. Condicionales
- 11. Excepciones
- 12. Bucles
- 13. Funciones
- 14. Cadenas
- 15. Ficheros
- 16. Listas
- 17. Diccionarios
- 18. Tuplas
- 19. Clases
- 20. Expresiones regulares
- 21. Ayuda en Python
- Formatos de datos para la web con Python: CSV y JSON
- 1. Introducción
- 2. Archivos CSV
- 3. El módulo csv de Python
- 4. Ejemplo del uso del módulo csv
- 5. Archivos JSON
- 6. El módulo json de Python
- 7. Ejemplo del uso del módulo json
- Formatos de datos para la web con Python: XML
- 1. Introducción
- 2. Documentos XML
- 3. Procesamiento de documentos XML
- 4. SAX (Simple API for XML)
- 5. SAX desde Python
- 6. DOM (Document Object Model)
- 7. DOM desde Python
- 8. DOM frente a SAX
- 9. Procesamiento con ElementTree
- Acceso a bases de datos relacionales utilizando Python: MySQL y SQLite
- 1. Introducción
- 2. Creación de un base de datos en SQLite
- 3. Inserción de datos con SQLite
- 4. Consultas en SQLite
- 5. Actualizaciones en SQLite
- 6. Ejemplo completo en SQLite
- 7. Creación de una base de datos en MySQL
- 8. Creación de tablas e inserción de datos en MySQL
- 9. Consultas en MySQL
- 10. Actualizaciones en MySQL
- 11. Otras operaciones
- 12. Ejemplo con MySQL
- Acceso a bases de datos NoSQL utilizando Python: MongoDB con Pymongo
- 1. Introducción
- 2. Conexión a MongoDB
- 3. Operaciones básicas
- 4. Búsqueda de datos
- 5. Agregación de datos
- 6. Operaciones map-reduce
- 7. Indexación
- 8. Utilización de operadores condicionales
- 9. Expresiones regulares
- 10. Referenciación de documentos
- 11. Algunas funciones especiales
- Web scraping con Python
- 1. Introducción
- 2. Recuperación de información en la web
- 3. Recuperación vía http
- 4. Recuperación con el módulo urllib
- 5. Recuperación con el módulo request
- 6. Web scraping
- 7. Análisis mediante expresiones regulares
- 8. Análisis mediante BeautifulSoup
- 9. El módulo webbrowser
- Programación web mediante Bottle
- 1. Introducción
- 2. La framework Bottle
- 3. Las rutas en Bottle
- 4. Métodos de petición HTTP
- 5. Archivos estáticos
- 6. Páginas de error
- 7. Generación de contenido
- 8. Objeto request
- 9. Cookies
- 10. Formularios
- 11. Plantillas
- 12. Plugins
- 13. Un ejemplo de página web siguiendo el patrón MVC