Files
web_scraping/project.md
T
egutierrez 2527fd306a docs(browser): guía de control de navegador para LLMs (CDP anti-colapso)
Añade LLM_BROWSER_GUIDE.md: guía operativa para que un agente LLM (Claude u
otro) controle los navegadores del equipo via Chrome DevTools Protocol sin
saturar su contexto. Cubre la conexión (puertos 9222 diario / 9333 dedicado),
las capacidades por eje (ventanas, pestañas, network, DOM, ejecución de JS) con
recetas lanzables, y sobre todo la lectura de páginas mediante accessibility
tree recortado (cdp_get_ax_tree + trim_ax_tree, render a outline) en lugar de
volcar el HTML crudo, que es la causa principal de colapso de contexto.

Incluye una tabla de presupuesto de tokens por acción, recetas de tarea
end-to-end (entender página, scraping, login+SPA, mapear API oculta), los
gotchas heredados de CHROMIUM_SYSTEM.md y la hoja de ruta del futuro servidor
MCP de navegador (cada capacidad como tool que devuelve representaciones
compactas en el borde). project.md referencia la nueva guía.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 09:52:40 +02:00

56 lines
3.4 KiB
Markdown

---
name: web_scraping
description: "Plataforma de control de navegador y automatización web sobre Chrome via CDP en Linux nativo. Base reutilizable para scraping, automatización de tareas web, descubrimiento de endpoints/APIs para pentesting y captura de tráfico."
tags: [scraping, browser, cdp, automation, pentesting, linux]
repo_url: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/dataforge/web_scraping"
---
## Notas
Proyecto paraguas, de uso continuo, para todo lo relacionado con control de navegador y trabajo
sobre la web. No está atado a ningún dominio concreto: cualquier tarea de scraping, automatización
o reconocimiento web se hace y se capitaliza aquí. Construido 100% sobre Linux nativo (sin
dependencia de WSL/Windows). El control del navegador se hace con Chrome DevTools Protocol (CDP)
crudo a través de las funciones del dominio `browser` del registry, no con Playwright/Selenium.
### Para qué sirve
- **Web scraping**: extracción de datos de páginas y APIs, con o sin login, incluyendo SPAs.
- **Automatización web**: rellenar formularios, flujos multi-paso, tareas repetitivas en webapps.
- **Descubrimiento de endpoints (pentesting / recon)**: capturar el tráfico HTTP/WS que genera una
página (`cdp_har_record` + extensión mitm de `web_proxy`) para mapear las APIs reales que usa,
detectar endpoints ocultos y analizar peticiones.
- **Captura de tráfico**: interceptación y registro de flujos vía mitmproxy para análisis posterior.
- **Monitoreo / testing**: vigilar cambios en páginas, validar comportamiento, smoke de webs.
### Componentes
| Componente | Tipo | Estado | Qué hace |
|---|---|---|---|
| `script_navegador` | app (Go) | activo | Controlador de navegador: modo CLI rápido (comandos sueltos: open/click/type/eval/shot/tabs) + runner de scripts YAML. Compone funciones `cdp_*` del registry. |
| `web_proxy` | app (bash) | externo | Proxy de interceptación HTTP/HTTPS (mitmproxy). Vive en `apps/web_proxy`; provee la captura de tráfico que consume este proyecto. |
| vaults | datos | reservado | Datos extraídos por cada campaña (scrapes, HARs, listados, capturas). |
| analysis | exploración | reservado | Notebooks sobre los datos extraídos / capturados. |
### Filosofía
- **Registry-first**: toda capacidad reutilizable de navegador (lanzar Chrome, navegar, click,
type, screenshot, esperas inteligentes, captura HAR) vive en `functions/browser/` del registry.
La app solo orquesta: parsea comandos y compone funciones. Lo que sirva para una campaña sirve
para todas.
- **Esperas inteligentes siempre**: los scripts y comandos esperan condiciones reales del DOM
(readyState, selector presente, DOM estabilizado) en lugar de `sleep` ciegos. Ver
`CONVENTIONS.md`.
- **Linux nativo**: lanzamiento directo de `chromium`/`google-chrome` con `os/exec`, sin
`wslpath`, sin `chrome.exe`, sin proxies WSL↔Windows.
Las reglas operativas (tamaño de ventana, perfil del proyecto, headless, jitter, captura,
movimientos realistas, proxys rotativos, CDP en el navegador del usuario) están en
`CONVENTIONS.md`.
Para **controlar el navegador desde un agente LLM** (Claude u otro) sin saturar su contexto, la
guía operativa es `LLM_BROWSER_GUIDE.md`: cómo conectar via CDP, qué comandos usar por capacidad
(ventanas, pestañas, network, DOM, JS) y, sobre todo, cómo leer páginas via accessibility tree
recortado en lugar de volcar el HTML crudo (anti-colapso). Incluye la hoja de ruta del futuro
servidor MCP de navegador.