Aprende a experimentar con la web desde Python con Requests. En minutos, haces una solicitud GET, inspeccionas el objeto response en Jupyter Notebook y analizas status code, headers, cookies y el HTML minificado. Con estas técnicas podrás empezar a extraer datos y entender comportamientos como CORS y la verificación OPTIONS.
¿Cómo hacer solicitudes HTTP con Python Requests?
Para solicitar documentos en la web, usa URLs y los verbos HTTP. Con Requests puedes usar GET para obtener recursos y POST para enviar datos. También aparecen PATCH, PUT (mencionado como update), DELETE y OPTIONS.
GET: obtener recursos de la web.
POST: enviar datos a un servidor.
PATCH/PUT: actualizar datos con diferencias semánticas.
DELETE: borrar recursos.
OPTIONS: verificación previa frecuente en navegadores; clave cuando falla por CORS.
¿Cómo importarlo e iniciar?
Si tu ambiente virtual está activo, Requests ya debería estar instalado. Importa y realiza tu primera solicitud.
import requests
response = requests.get("https://platzi.com")response # objeto response con la respuesta del servidor
¿Qué devuelve la solicitud?
Un objeto response con datos de la respuesta.
Acceso a status code, headers, cookies y contenido.
Base para inspección y extracción de información.
¿Cómo inspeccionar el objeto response en Jupyter?
Explora rápido la documentación y los atributos del objeto para entender qué hay disponible y cómo usarlo.
¿Qué atajos usar para documentación y código fuente?
Símbolo de interrogación para ayuda: escribe response? y ejecuta.
Doble interrogación para ver implementación: response??.
Directorio de atributos y métodos:
print(dir(response))
Esto revela que es una clase con atributos como status_code, headers y más, además de su docstring.
¿Cómo leer status code y headers?
Consulta el estado y los metadatos de la respuesta. Un 200 indica que todo salió bien.
response.status_code # 200# headers es un diccionario tipo mapeoresponse.headers
# ejemplos de accesoresponse.headers["Date"]# fecha del servidorresponse.headers.get("Content-Type")# tipo de contenido, p. ej. text/htmlresponse.headers.get("Set-Cookie")# cookies enviadas por el servidor
Los headers explican tipo de contenido, idioma, cookies, dominio y proveedores como Cloudflare.
Usa notación de llaves para acceder a valores específicos.
¿Cómo interpretar el HTML y comenzar a extraer datos?
El cuerpo de la respuesta es HTML. A menudo llega minificado para ahorrar ancho de banda, pero contiene toda la información clave.
html = response.text # HTML de la página
¿Qué notarás al revisar el HTML?
Título de la página: “Platzi cursos online profesionales de tecnología”.
Íconos y metadatos para navegadores.
Archivos CSS y scripts incluidos.
Scripts de analítica como Google Analytics y Facebook.
Con esto tienes lo esencial para:
Hacer solicitudes HTTP programáticas.
Inspeccionar status code y headers.
Leer cookies y entender proveedores como Cloudflare.
Analizar HTML minificado y detectar recursos como CSS y scripts.
Reconocer situaciones de CORS y peticiones OPTIONS que pueden fallar, especialmente en una single page application.
¿Quieres practicar? Comparte qué páginas probaste con Requests, si encontraste errores típicos en single page applications y qué datos lograste extraer. Tu experiencia puede ayudar a otros a avanzar.