1 puntos por gptaku 2026-04-16 | 2 comentarios | Compartir por WhatsApp

No me gustaba que Claude Code se rindiera cuando encontraba un 403.

"Léeme esta publicación de Naver Blog" → 403. "Elige teclados de menos de 100,000 won en Coupang" → 403. "¿Qué dice este hilo de Reddit?" → bloqueado. Al final yo terminaba entrando desde el navegador para copiar y pegar el contenido una y otra vez. Se suponía que le estaba encargando el trabajo a la IA, así que sentía absurdo que al final yo fuera quien terminaba haciéndolo.

Probé los MCP existentes, pero tenían problemas. La mayoría estaban atados a una sola plataforma específica (solo Twitter, solo YouTube), exigían registrarse con API key/OAuth, o ya venían con el sesgo de que "este sitio está bloqueado", así que ni siquiera lo intentaban. Los sitios cambian todos los días, y los métodos también pueden funcionar en este momento; no tenía sentido rendirse solo porque alguna vez hubo un bloqueo.

Por eso hice una capa de selección de método. No es un scraper, sino una habilidad que va probando endpoints públicos y técnicas estándar en orden hasta que logre pasar.

Cómo funciona

Cuando Claude Code intenta acceder a una URL, lo ayuda un programador adaptativo de 4 fases. Solo pasa a la siguiente fase si la fase anterior falla o detecta señales de bloqueo.

  • Fase 0: indexa solo endpoints especiales que no se pueden descubrir con una cadena genérica (15 grupos) — X Syndication, Reddit .json, HN Firebase, yt-dlp con 1,858 sitios
  • Fase 1: sondas ligeras en paralelo — WebFetch, Jina Reader, curl con UA de Chrome/Mobile/Googlebot, variaciones de URL m.{domain}/.json//rss
  • Fase 2: impersonación TLS — curl_cffi en orden safari → chrome → firefox (si no está instalado, ejecuta pip install automáticamente)
  • Fase 3: navegador real — renderizado con Playwright MCP + descubrimiento de API ocultas (network_requests)
  • Si detecta login/paywall, termina como "requiere autenticación". No sigue intentando inútilmente

Además, en todas las respuestas HTML extrae también etiquetas OGP y datos estructurados JSON-LD. Aunque no pueda traer el cuerpo completo, sí puede obtener el título, el precio o el perfil.

Funciona especialmente bien con sitios coreanos

  • Naver Blog → en la mayoría de los casos se resuelve con la variación a URL móvil
  • Coupang → extrae JSON-LD ItemList con curl_cffi safari en la Fase 2
  • DC Inside/FM Korea/Clien/Daangn/Yozm IT/Wishket → todos se leen con Jina Reader o curl
  • Naver Finance → API JSON no oficial api.finance.naver.com/siseJson.naver (sin autenticación)
  • 9 medios coreanos → índice RSS + fallback a Google News RSS

Principio clave

No crear sesgos. No hice una lista de "este sitio es difícil". Tampoco se salta algo porque falten dependencias: las instala y lo intenta. Porque tanto el sitio como el método pueden funcionar ahora mismo.

Instalación

/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git  
/plugin install insane-search  

Reinicia y listo. No hay API keys, registros ni variables de entorno. Si hablas como siempre, se activa automáticamente cuando encuentra una URL bloqueada.

2 comentarios

 
ng0301 2026-04-19

El agent browser de vercel-labs está buenísimo.

 
holywork 2026-04-19

¿No se podría hacer que use browser-use directamente?