DocumentaçãoNavegador e CrawlAgent BrowserPerfis

Profiles

Os Profiles permitem que você persista dados do usuário—como armazenamento, cookies, cache e estados de login—em várias sessões. Isso possibilita uma automação mais fluida, autenticação simplificada e desempenho otimizado.

Principais Vantagens

  • Reutilizar o Histórico do Navegador: Os usuários podem reutilizar seu histórico de navegação entre sessões.
  • Manter o Status de Login: Permaneça conectado a determinados sites para reduzir a necessidade de autenticação repetida.
  • Melhorar a Velocidade de Carregamento das Páginas: Aprimore a velocidade de carregamento das páginas web.
  • Reduzir o Risco de Detecção de Bots: Diminua as chances de ser identificado como um bot.

Usando Profiles

1. Criar um Profile

Primeiro, crie um novo profile usando a API de Profiles. Anote o profileId que é retornado; você o usará para atribuir o profile a uma nova sessão.

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 um Profile

Depois que um profile é criado, você pode adicioná-lo a uma nova sessão para reutilizar seus dados. Atribua o profile incluindo o profileId na configuração da sua sessão.

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();
})();

Se você quiser que a nova sessão atualize os dados do profile, deve definir profilePersist: true dentro do objeto profile. Isso deve ser feito na primeira vez que você usar um novo profile em uma sessão, para garantir que seus dados possam ser salvos para uso posterior.

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

Por padrão, um contexto carregará os dados salvos de uma sessão anterior, mas não os atualizará. Se você precisar armazenar novos cookies, tokens de autenticação ou dados em cache, deve definir profilePersist: true ao criar a sessão. Os dados serão salvos quando a sessão for encerrada. Isso garante que quaisquer alterações feitas durante a sessão—como fazer login, salvar preferências do site ou armazenar recursos em cache—sejam preservadas para sessões futuras e não sejam perdidas quando a sessão terminar.

3. Recuperar Profiles

Você pode buscar um profile específico pelo seu ID ou listar todos os profiles que você criou usando parâmetros de consulta. Consulte a referência da API de Profiles para obter o esquema e os parâmetros completos.

// 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 });
Observação

Quando profilePersist: true está habilitado, apenas os dados da última sessão a ser encerrada serão salvos.

4. Compartilhar um Profile Entre Várias Sessões

Se você quiser que várias sessões compartilhem o mesmo profile, a configuração padrão profilePersist: false permite que você use a configuração do profile anterior em várias sessões sem fazer nenhuma alteração. Se você desejar atualizar o profile dentro dessas sessões, precisará habilitar a persistência.

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

Observação: Quando profilePersist: true está habilitado, apenas os dados da última sessão a ser encerrada serão salvos.

5. Excluir Profiles

Exclua profiles não utilizados para liberar recursos. Uma vez excluído, um profile não pode mais ser vinculado a nenhuma sessão.

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

👉 Para exemplos e amostras de código relacionados aos profiles, visite Atualizações do Produto | Novo Recurso de Profile.