🌐 Web scraping con requests+bs4
La combinación requests + BeautifulSoup es el estándar de Python para extraer datos de páginas web. Pídele a Claude Code: "scrape os titulos e precos desta pagina" y genera el script completo con selectores CSS, manejo de errores y limitación de solicitudes.
import requests
from bs4 import BeautifulSoup
import time
def scrape_titles(url: str) -> list[str]:
resp = requests.get(url, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")
return [h.text.strip() for h in soup.select("h2.title")]
urls = ["https://example.com/page/1", "https://example.com/page/2"]
for url in urls:
print(scrape_titles(url))
time.sleep(1) # rate limiting
En 1 frase: requests + BeautifulSoup = datos de la web en pocas líneas.
📁 Procesamiento masivo de archivos
Renombrar 500 archivos, convertir formatos en lote, extraer metadatos. Con pathlib e shutil, Python procesa cientos de archivos en el tiempo que te llevaría hacer 5 manualmente. Claude Code genera estos scripts bajo demanda.
from pathlib import Path
src = Path("./downloads")
for i, f in enumerate(sorted(src.glob("*.jpg")), 1):
new_name = f"photo_{i:04d}{f.suffix}"
f.rename(f.parent / new_name)
print(f" {f.name} -> {new_name}")
En 1 frase: pathlib + glob = procesar cientos de archivos en un bucle.
🔄 Transformaciones de datos (CSV/JSON)
Convertir CSV a JSON, filtrar filas, agregar datos. Los módulos csv e json de la biblioteca estándar resuelven el 90% de los casos. Para transformaciones más complejas, pandas es la navaja suiza.
En 1 frase: csv.DictReader + json.dump = pipeline de datos en Python puro.
⏰ Programación con cron
La automatización real significa ejecutarse sin intervención. El cron (Linux/macOS) programa scripts para que se ejecuten en horarios fijos. Para tareas más complejas, systemd timers ofrecen logging y reintentos automáticos.
# Rodar todo dia as 6h 0 6 * * * /home/user/.venv/bin/python /home/user/scripts/scrape.py >> /tmp/scrape.log 2>&1 # Rodar a cada 30 minutos */30 * * * * /home/user/.venv/bin/python /home/user/scripts/check.py
En 1 frase: cron = tu script ejecutándose solo a la hora indicada, todos los días.
🔌 API de terceros
Los scripts potentes conectan servicios: GitHub API para repositorios, Slack para notificaciones, Stripe para pagos. Con requests y encabezados de autenticación, integras cualquier API REST. Claude Code conoce los endpoints de las API populares y genera el código de integración.
En 1 frase: requests + auth headers = integración con cualquier servicio.
🛡️ Manejo robusto de errores
Los scripts de producción necesitan try/except bien pensado, logging estructurado y reintentos para fallas transitorias. La biblioteca tenacity simplifica los reintentos con backoff exponencial. Pídele a Claude Code: "adicione error handling robusto a este script".
import logging
from tenacity import retry, stop_after_attempt, wait_exponential
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
log = logging.getLogger(__name__)
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=10))
def fetch_data(url: str) -> dict:
log.info(f"Fetching {url}")
resp = requests.get(url, timeout=10)
resp.raise_for_status()
return resp.json()
En 1 frase: try/except + logging + retries = scripts que no fallan en silencio.
🧾 Resumen del módulo
Siguiente módulo:
5.3 — FastAPI y servicios web: de script a API profesional.