Volver al blog

Uso de Browser X Sin Scrapeless

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

08-May-2025

El uso de Browser Use es un SDK de automatización de navegadores que utiliza capturas de pantalla para capturar el estado del navegador y acciones para simular interacciones de usuario. Este capítulo presentará cómo puedes usar fácilmente browser-use para ejecutar tareas de agente en la web con llamadas simples.

Obtener la clave API de Scrapeless

Ve a la pestaña de Configuración del Dashboard:

Obtener clave API de Scrapeless

Luego copia y establece las variables de entorno SCRAPELESS_API_KEY en tu archivo .env.

Las variables de entorno OPENAI_API_KEY en tu archivo .env también son necesarias.

.env Copy
OPENAI_API_KEY=tu-clave-api-openai
SCRAPELESS_API_KEY=tu-clave-api-scrapeless

💡 Recuerda reemplazar la clave API de ejemplo con tu clave API real

Instalar Browser Use

Con pip (Python>=3.11):

Shell Copy
pip install browser-use

Para la funcionalidad de memoria (requiere Python<3.13 debido a la compatibilidad con PyTorch):

Shell Copy
pip install "browser-use[memory]"

Así es como configurar el navegador y crear un agente de automatización:

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

tarea = "Ve a Google, busca 'Scrapeless', haz clic en la primera publicación y vuelve al título"

async def configurar_navegador() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "session_ttl": 180,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    navegador = Browser(config)
    return navegador

async def configurar_agente(navegador: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # O elige el modelo que deseas usar
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )

    return Agent(
        task=tarea,
        llm=llm,
        browser=navegador,
    )

Crear la Función Principal

Aquí está la función principal que reúne todo:

Python Copy
async def main():
    load_dotenv()
    navegador = await configurar_navegador()
    agente = await configurar_agente(navegador)
    resultado = await agente.run()
    print(resultado)
    await navegador.close()
    
asyncio.run(main())

Ejecuta tu script

Ejecuta tu script:

Shell Copy
python run main.py

Deberías ver tu sesión de Scrapeless comenzar en el Dashboard de Scrapeless.

Código Completo

Python Copy
from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser, BrowserConfig
from pydantic import SecretStr

tarea = "Ve a Google, busca 'Scrapeless', haz clic en la primera publicación y vuelve al título"

async def configurar_navegador() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "session_ttl": 180,
        "proxy_country": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    config = BrowserConfig(cdp_url=browser_ws_endpoint)
    navegador = Browser(config)
    return navegador

async def configurar_agente(navegador: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # O elige el modelo que deseas usar
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )

    return Agent(
        task=tarea,
        llm=llm,
        browser=navegador,
    )

async def main():
    load_dotenv()
    navegador = await configurar_navegador()
    agente = await configurar_agente(navegador)
    resultado = await agente.run()
    print(resultado)
    await navegador.close()

asyncio.run(main())

💡 Browser Use actualmente solo es compatible con Python.

💡 Puedes copiar la URL en sesión en vivo para ver el progreso de la sesión en tiempo real, y también puedes ver una repetición de la sesión en historial de sesiones.

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.

Artículos más populares

Catalogar