DocumentaciónNavegador y CrawlAgent BrowserPerfiles

Perfiles

Los perfiles permiten conservar datos de usuario, como almacenamiento, cookies, caché y estados de inicio de sesión, a través de múltiples sesiones. Esto posibilita una automatización más fluida, una autenticación simplificada y un rendimiento optimizado.

Ventajas principales

  • Reutilizar historial del navegador: Los usuarios pueden reutilizar su historial de navegación entre sesiones.
  • Mantener estado de inicio de sesión: Permanecer autenticado en ciertos sitios para reducir la necesidad de autenticaciones repetidas.
  • Mejorar la velocidad de carga de páginas: Mejorar la velocidad de carga de las páginas web.
  • Reducir el riesgo de detección como bot: Disminuir las posibilidades de ser identificado como un bot.

Uso de perfiles

1. Crear un perfil

Primero, cree un nuevo perfil mediante la API de perfiles. Tenga en cuenta el profileId que se devuelve; utilizará esto para asignar el perfil a una nueva sesión.

import { ScrapelessClient } from '@scrapeless-ai/sdk';
 
const client = new ScrapelessClient({ apiKey: 'API Key' });
const createResponse = await client.profiles.create('My Profile');
console.log('Profile created:', createResponse);

2. Usar un perfil

Una vez creado un perfil, puede agregarlo a una nueva sesión para reutilizar sus datos. Asigne el perfil incluyendo el profileId en la configuración de su sesión.

import { ScrapelessClient } from '@scrapeless-ai/sdk';
 
const client = new ScrapelessClient({ apiKey: 'API Key' });
const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: 'your-profile-id',
});
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint});
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    console.log(await page.title());
    await browser.close();
})();

Si desea que la nueva sesión actualice los datos del perfil, debe establecer profilePersist: true dentro del objeto perfil. Esto debe hacerse la primera vez que utilice un perfil nuevo en una sesión para asegurar que sus datos puedan guardarse para su uso posterior.

const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: 'your-profile-id',
    profilePersist: true,
});
Why Use persist?

Por defecto, un contexto cargará los datos guardados de una sesión anterior, pero no los actualizará. Si necesita almacenar nuevas cookies, tokens de autenticación o datos en caché, debe establecer profilePersist: true al crear la sesión. Los datos se guardarán cuando se cierre la sesión. Esto garantiza que cualquier cambio realizado durante la sesión, como iniciar sesión, guardar preferencias del sitio o almacenar recursos en caché, se conserve para sesiones futuras y no se pierda al finalizar la sesión.

3. Recuperar perfiles

Puede obtener un perfil específico por su ID o listar todos los perfiles que ha creado utilizando parámetros de consulta. Consulte la referencia de la API de perfiles para conocer el esquema completo y los parámetros.

// get a specific profile
const profile = await client.profiles.get('your-profile-id');
 
// get profile list
const profiles = await client.profiles.list({ page: 1, pageSize: 10 });
Note

Cuando profilePersist: true está habilitado, solo se guardarán los datos de la última sesión que se haya cerrado.

4. Compartir un perfil entre múltiples sesiones

Si desea que múltiples sesiones compartan el mismo perfil, la configuración predeterminada profilePersist: false le permite usar la configuración anterior del perfil en múltiples sesiones sin realizar cambios. Si desea actualizar el perfil dentro de estas sesiones, deberá habilitar la persistencia.

const { browserWSEndpoint } = client.browser.create({
    sessionName: 'My Browser',
    sessionTTL: 30000,
    profileId: 'your-profile-id',
});

Nota: Cuando profilePersist: true está habilitado, solo se guardarán los datos de la última sesión que se haya cerrado.

5. Eliminar perfiles

Elimine los perfiles que ya no utilice para liberar recursos. Una vez eliminado, un perfil ya no podrá asociarse a ninguna sesión.

const deleteResponse = await client.profiles.delete('your-profile-id');

👉 Para ejemplos y fragmentos de código relacionados con perfiles, visite Actualizaciones del producto | Nueva función de perfiles.