proyecto en Python Skill Tree

Recopilar un catálogo de fotos desde una API

Crea un cliente HTTP reutilizable en Python que recorra todas las páginas del catálogo, filtre fotos, exporte CSV válido y conserve un archivo completo anterior si falla la recopilación.

ProyectoPython

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Recopilar un catálogo de fotos desde una API es un proyecto práctico de Python para quienes ya saben escribir programas pequeños. Ayuda a una persona que edita una fototeca comunitaria a convertir la vista previa de la primera página en un catálogo CSV completo y filtrado. Crearás un cliente reutilizable para una API HTTP local preparada y protegerás una exportación completa anterior cuando falle una solicitud posterior.

Dos laboratorios guiados te llevan desde leer una respuesta hasta seguir todos los cursores, eliminar ID duplicados y publicar un resultado completo. Un desafío independiente aplica los mismos métodos a otra colección, con otro tamaño de página y otra selección. Cada unidad empieza con su propio entorno preparado. Reserva aproximadamente 110–150 minutos; es una estimación del autor, no un tiempo medido con principiantes.

Lo que aprenderás

Al completar el curso, podrás:

  • solicitar registros JSON por HTTP, codificar parámetros de consulta, usar un tiempo de espera y distinguir respuestas correctas de errores HTTP;
  • tratar los cursores de paginación como valores opacos y continuar hasta que next_cursor sea null, incluso después de páginas vacías o cortas;
  • conservar un registro por ID estable de foto sin perder fotos distintas que tengan el mismo título;
  • filtrar por categoría y orientación con coincidencias exactas y sensibles a mayúsculas, y escribir los cinco campos en CSV UTF-8 válido, con solo la cabecera si no hay coincidencias;
  • rechazar una solicitud fallida o un ciclo de cursores repetidos con un código de salida distinto de cero, conservando la salida completa anterior;
  • publicar una exportación correcta mediante un archivo temporal único en el directorio de salida, sin sobrescribir archivos vecinos ajenos;
  • reutilizar el mismo programa con otra URL de colección proporcionada, tamaño de página, filtros y ruta de salida.

A quién va dirigido este curso

Este curso está pensado para estudiantes de Python que quieran convertir bucles y colecciones conocidos en un cliente API útil y un archivo de datos reutilizable.

Requisitos previos: Funciones, colecciones, bucles, excepciones y escritura básica de archivos en Python, además del uso básico de la terminal. El proyecto de lista de compras para un pícnic o una experiencia equivalente es una preparación adecuada. Los laboratorios guiados explican HTTP, la estructura JSON de las respuestas, la codificación URL, los cursores, las comillas de CSV y la sustitución mediante archivos temporales.

Entorno de aprendizaje: LabEx proporciona un editor Python y una terminal en el navegador, junto con una API local de demostración original. El catálogo usa ilustraciones sintéticas y créditos ficticios. Los datos de origen, el código del servicio y los recursos gráficos permanecen intactos; solo se permite usar los controles de fallos y ciclos de demostración expresamente documentados para practicar errores y recuperación. Las etiquetas y salidas del entorno siguen en inglés.

Preguntas frecuentes

¿Necesito una cuenta externa o una clave API?

No. Las solicitudes se envían al servicio local de demostración preparado. No te conectas a un proveedor de fotos alojado, no extraes datos de sitios externos ni implementas autenticación.

¿Crearé un sitio web o descargaré fotos?

No. Escribes el cliente Python y exportas los metadatos de las fotos como CSV. Las ilustraciones suministradas permiten reconocer los registros; descargar imágenes, dibujar y desarrollar sitios web quedan fuera del proyecto.

¿Qué ocurre si la recopilación se detiene a mitad del proceso?

El cliente debe salir con un error y conservar una exportación completa existente. Tras restaurar el servicio de demostración, empiezas un nuevo lote finito. El curso no incluye reintentos automáticos ni reanudación de lotes interrumpidos. La sustitución local de archivos no garantiza durabilidad ante cortes de energía ni coordinación entre escrituras concurrentes.

¿Cómo amplía el desafío los laboratorios guiados?

Recopilas otra colección con parámetros diferentes y registros coincidentes en la última página. Las herramientas, las reglas de paginación, el filtrado, el formato CSV y el tratamiento de fallos ya se han enseñado.

Profesor

labby
Labby
Labby is the LabEx teacher.

Recomendado Para Ti

no data