Skyvern + Navegador de raspado sin residuos: Un agente de IA en la nube
Advanced Bot Mitigation Engineer
Skyvern es un agente de navegador que decide qué hacer al observar la página: toma una captura de pantalla, un modelo de visión lo lee y el agente hace clic, escribe o lee en función de lo que ve. Apunta el navegador de ese agente al Scrapeless Scraping Browser a través del Protocolo de Herramientas de Desarrollo de Chrome y conduce un Chromium en la nube con salida residencial en lugar de un navegador que ejecutas y ocultas en tu propia máquina.
La combinación es natural. Skyvern proporciona el razonamiento: convertir un objetivo en inglés sencillo en una secuencia de acciones del navegador, y el Scraping Browser suministra el entorno en el que el agente actúa. Esta guía instala el entorno local de Skyvern, lo apunta al Scrapeless Scraping Browser a través de una conexión CDP, le entrega un objetivo en una frase y observa cómo completa la tarea, con el agente ejecutándose en vivo contra el navegador en la nube.
Por qué ejecutar Skyvern en el Scrapeless Scraping Browser
Un agente de visión es tan útil como el navegador que controla. Ejecuta Skyvern contra un Chromium local y posees todo el entorno: el proceso del navegador, su memoria, su única IP de salida, y lo que un sitio ocupado haga con esa IP. Apúntalo al Scraping Browser y esa mitad se desplaza a la nube: el agente se conecta a través de CDP a una sesión de Chromium que Scrapeless renderiza y mantiene, con salida residencial que puedes asignar a un país. Los detalles de conexión que se adjunta son los que se encuentran en la documentación del Scraping Browser.
Nada sobre el agente cambia. Skyvern sigue tomando capturas de pantalla, razonando y actuando; simplemente actúa dentro de un navegador en la nube alcanzado a través de un WebSocket en lugar de uno local. Eso mantiene el razonamiento de tu lado y la flota de navegadores del lado de Scrapeless, que es la separación que deseas cuando un objetivo abarca muchas páginas o un sitio es selectivo sobre el tráfico que sirve.
Requisitos previos
Necesitas Python 3.11 o más reciente, el extra local de Skyvern, una clave de API de Scrapeless para la sesión del navegador y una clave para un modelo capaz de visión. Obtén la clave de Scrapeless en el plan gratuito en app.scrapeless.com. El modo local de Skyvern ejecuta el agente en el proceso, por lo que no se requiere un servidor o base de datos separados para la ejecución a continuación.
Instalación
Instala Skyvern con el extra local, que obtiene el entorno del agente embebido:
bash
pip install "skyvern[local]"
Configuración
Dos claves van en el entorno: la clave de Scrapeless para el navegador y la clave del modelo para las llamadas a la visión del agente.
bash
export SCRAPELESS_API_KEY="tu_clave_de_api_scrapeless"
export OPENROUTER_API_KEY="tu_clave_de_api_modelo"
Apunta Skyvern al navegador en la nube y ejecuta una tarea
Skyvern lee su configuración de navegador y modelo de la configuración, por lo que configúralas en el código antes de construir el cliente: BROWSER_TYPE=cdp-connect le dice a Skyvern que se conecte a un navegador existente, BROWSER_REMOTE_DEBUGGING_URL es el punto final CDP de Scrapeless, y la configuración de OpenRouter selecciona un modelo capaz de visión. Luego Skyvern.local() ejecuta el agente en el proceso y run_task toma el objetivo como una frase. La conexión viaja a través de el Protocolo de Herramientas de Desarrollo de Chrome sobre el protocolo WebSocket:
python
import os
from urllib.parse import urlencode
TOKEN = os.environ["SCRAPELESS_API_KEY"]
CDP_URL = "wss://browser.scrapeless.com/api/v2/browser?" + urlencode(
{"token": TOKEN, "sessionTTL": 300, "proxyCountry": "US"})
os.environ.update({
"BROWSER_TYPE": "cdp-connect",
"BROWSER_REMOTE_DEBUGGING_URL": CDP_URL,
"ENABLE_OPENROUTER": "true",
"OPENROUTER_MODEL": "google/gemini-2.5-flash-lite",
"LLM_KEY": "OPENROUTER",
"LLM_CONFIG_SUPPORT_VISION": "true",
})
import asyncio
from skyvern import Skyvern
async def main():
skyvern = Skyvern.local(use_in_memory_db=True)
task = await skyvern.run_task(
prompt="Encuentra la primera cita en la página e informa el nombre de su autor.",
url="https://quotes.toscrape.com/",
wait_for_completion=True,
max_steps=3,
)
print("estado de la tarea:", task.status)
print("motor:", task.run_request.engine)
asyncio.run(main())
El agente se conecta al navegador en la nube, trabaja en el objetivo y finaliza:
text
estado de la tarea: completada
motor: skyvern-1.0
Obtén tu clave de API en el plan gratuito: app.scrapeless.com
Lo que el agente realmente hizo
Detrás de esa línea de estado, Skyvern ejecutó su ciclo contra el navegador sin desperdicios. Capturó una captura de pantalla de la página renderizada, envió la imagen al modelo de visión con el objetivo, y el modelo devolvió una acción: aquí reconoció que la primera cita y su autor ya estaban en la pantalla y marcó el objetivo como completo. En una tarea que necesita interacción, el mismo ciclo hace clic en un botón, llena un campo o desplaza hacia abajo, captura de nuevo la pantalla y vuelve a leer, hasta los max_steps que configures. Cada una de estas acciones se ejecuta dentro de Chromium en la nube, no en tu máquina, y el proxyCountry en la conexión decide de dónde sale el tráfico.
Un agente que actúa en tu nombre aún trabaja dentro de los límites de un sitio: apúntalo a páginas públicas, respeta los términos del sitio y sus directrices del Protocolo de Exclusión de Robots, y mantén el presupuesto de pasos modesto. La división del trabajo es el punto: Skyvern posee las decisiones y el Navegador de Scraping posee el navegador. Para otro marco de agente en el mismo tiempo de ejecución, la guía sobre cómo ejecutar el uso del navegador en Scrapeless cubre la misma conexión desde un agente diferente.
Conclusión
Skyvern convierte una frase en acciones de navegador, y el Navegador de Scraping Scraping sin desperdicios le da a esas acciones un tiempo de ejecución en la nube para llevarse a cabo. Configura BROWSER_TYPE=cdp-connect con el endpoint CDP de Scrapeless, ejecuta Skyvern.local() con un modelo capaz de visión, y el agente controla un Chromium en la nube con salida residencial; la ejecución anterior completó un objetivo de extremo a extremo sin ningún navegador local en ninguna parte. Lee lo que ofrece el tiempo de ejecución en la página del producto del Navegador de Scraping y evalúa el volumen del agente, que consume tanto tiempo de navegador como tokens de modelo, contra la página de precios antes de escalar.
Únete a nuestra comunidad para reclamar un plan gratuito y comparar notas con otros desarrolladores que construyen agentes de navegador: Discord · Telegram.
Preguntas Frecuentes
P: ¿Qué hace Skyvern que un script no hace?
Skyvern decide las acciones en lugar de que tú las codifiques. Toma una captura de pantalla de la página, un modelo de visión lee la captura de pantalla contra tu objetivo, y el agente elige qué hacer clic, escribir o leer, por lo que se adapta a un diseño que no ha visto en lugar de seguir selectores que tú codificaste manualmente.
P: ¿Cómo se conecta Skyvern al Navegador de Scraping sin desperdicios?
A través de una conexión CDP. Configura BROWSER_TYPE=cdp-connect y BROWSER_REMOTE_DEBUGGING_URL al endpoint de Scrapeless wss://browser.scrapeless.com/api/v2/browser?token=..., y Skyvern se conecta a ese Chromium en la nube en lugar de lanzar un navegador local.
P: ¿Necesito una base de datos Postgres o un servidor en funcionamiento?
No por esto. Skyvern.local(use_in_memory_db=True) ejecuta el agente en proceso con una base de datos en memoria, lo cual es suficiente para llevar a cabo una tarea. Un servidor separado y Postgres son necesarios solo para el servicio Skyvern autoalojado, no para la ejecución local mostrada aquí.
P: ¿Qué modelo utiliza el agente?
Un modelo capaz de visión, porque el agente razona sobre capturas de pantalla. El ejemplo se dirige a google/gemini-2.5-flash-lite a través de OpenRouter con LLM_CONFIG_SUPPORT_VISION=true; Skyvern también admite OpenAI, Anthropic, Gemini y otros proveedores a través de la misma configuración.
P: ¿Cómo evito que el agente se ejecute demasiado tiempo?
Configura max_steps en la tarea. Cada paso es un ciclo de captura-reason-act, así que un presupuesto pequeño limita cuántas acciones —y cuántas llamadas al modelo— puede hacer una sola tarea antes de que se detenga.
P: ¿De dónde proviene el tráfico?
Del egress residencial del navegador en la nube de Scrapeless, no de tu máquina. El parámetro proxyCountry en la URL de conexión fija ese egress a un país, que es lo que una página georestringida utiliza para determinar su contenido.
P: ¿Puedo ejecutar un marco de agente diferente de la misma manera?
Sí. Cualquier agente que se conecte a un navegador a través de CDP puede conectarse al mismo endpoint de Scrapeless, así que el tiempo de ejecución se comparte entre marcos mientras cada uno aporta su propia razonamiento.
En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.



