Uso de Browser X Sin Scrapeless

Mejora tu automatización integrando Scrapeless Scraping Browser con el uso del navegador.

No se requiere tarjeta de crédito
Navegador de raspado sin residuos con uso de navegador

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.

En esta página