- Gerenciamento automatizado de sessões
- Direcione para qualquer cidade em 195 países
- Sessões simultâneas ilimitadas
Como salvar e carregar cookies no Puppeteer?
Salvar e carregar cookies com o Puppeteer é uma maneira poderosa de manter o estado da sessão em várias páginas. Isso pode ser particularmente útil para tarefas de Scraping de dados, nas quais você precisa navegar entre diferentes páginas sem perder os dados da sessão. Você pode usar o método page.cookies() para recuperar todos os cookies de uma página da web e o método page.setCookie() para carregar cookies em uma página da web. Para uma compreensão detalhada do que são cookies HTTP, confira esta postagem do blog.
Aqui está um exemplo mais abrangente de como salvar e carregar cookies com o Puppeteer:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Abra o primeiro site e aguarde o carregamento
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
// Salve todos os cookies da primeira página
const cookies = await page.cookies();
console.log('Cookies de example.com:', cookies);
// Abra um segundo site e aguarde o carregamento
await page.goto('https://httpbin.org/cookies', { waitUntil: 'networkidle2' });
// Carregue os cookies salvos anteriormente na segunda página
await page.setCookie(...cookies);
// Obter e registrar os cookies da segunda página para verificar se eles foram definidos
const cookiesSet = await page.cookies();
console.log('Cookies definidos em httpbin.org:', cookiesSet);
await browser.close();
})();
Explicação do código
- Inicie o Puppeteer e abra uma nova página:
const browser = await puppeteer.launch(); const page = await browser.newPage(); - Navegue até o primeiro site e aguarde até que ele carregue completamente:
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
A opçãowaitUntil: 'networkidle2'garante que a página esteja totalmente carregada antes de prosseguir. - Recuperar e registrar cookies do primeiro site:
const cookies = await page.cookies(); console.log('Cookies de example.com:', cookies); - Navegue até o segundo site e aguarde até que ele carregue completamente:
await page.goto('https://httpbin.org/cookies', { waitUntil: 'networkidle2' }); - Carregue os cookies salvos no segundo site:
await page.setCookie(...cookies); - Recuperar e registrar os cookies do segundo site para verificar:
const cookiesSet = await page.cookies(); console.log('Cookies definidos em httpbin.org:', cookiesSet); - Feche o navegador:
await browser.close();
Seguindo essas etapas, você pode garantir que os cookies sejam salvos e carregados corretamente entre diferentes páginas da web usando o Puppeteer. Esse método permite manter os estados da sessão de forma eficaz durante as tarefas de Scraping de dados.
Para soluções mais avançadas de Scraping de dados, considere usar o navegador Puppeteer da Bright Data. Ele oferece uma solução completa para lidar com a infraestrutura de desbloqueio automatizado, contornar CAPTCHAs e dimensionar seus projetos de scraping sem esforço.