- Gestion automatique des sessions
- Ciblez n’importe quelle ville parmi 195 pays
- Nombre illimité de sessions simultanées
Comment enregistrer et charger des cookies dans Puppeteer ?
L’enregistrement et le chargement de cookies avec Puppeteer est un moyen puissant de maintenir l’état de la session sur plusieurs pages. Cela peut être particulièrement utile pour les tâches de Scraping web où vous devez naviguer entre différentes pages sans perdre vos données de session. Vous pouvez utiliser la méthode page.cookies() pour récupérer tous les cookies d’une page web et la méthode page.setCookie() pour charger les cookies dans une page web. Pour une compréhension détaillée de ce que sont les cookies HTTP, consultez cet article de blog.
Voici un exemple plus complet de la manière d’enregistrer et de charger des cookies avec Puppeteer :
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Ouvrez le premier site web et attendez qu'il se charge.
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
// Enregistrez tous les cookies de la première page.
const cookies = await page.cookies();
console.log('Cookies de example.com :', cookies);
// Ouvrir un deuxième site Web et attendre qu'il se charge
await page.goto('https://httpbin.org/cookies', { waitUntil: 'networkidle2' });
// Charger les cookies précédemment enregistrés dans la deuxième page
await page.setCookie(...cookies);
// Récupérer et enregistrer les cookies de la deuxième page pour vérifier qu'ils ont bien été définis
const cookiesSet = await page.cookies();
console.log('Cookies définis dans httpbin.org :', cookiesSet);
await browser.close();
})();
Explication du code
- Lancer Puppeteer et ouvrir une nouvelle page :
const browser = await puppeteer.launch(); const page = await browser.newPage(); - Accédez au premier site web et attendez qu’il se charge complètement :
await page.goto('https://example.com', { waitUntil: 'networkidle2' });
L’optionwaitUntil: 'networkidle2'garantit que la page est entièrement chargée avant de continuer. - Récupérez et enregistrez les cookies du premier site web :
const cookies = await page.cookies(); console.log('Cookies de example.com :', cookies); - Accédez au deuxième site Web et attendez qu’il se charge complètement :
await page.goto('https://httpbin.org/cookies', { waitUntil: 'networkidle2' }); - Charger les cookies enregistrés dans le deuxième site Web :
await page.setCookie(...cookies); - Récupérer et enregistrer les cookies du deuxième site web pour vérification :
const cookiesSet = await page.cookies(); console.log('Cookies définis dans httpbin.org :', cookiesSet); - Fermez le navigateur :
await browser.close();
En suivant ces étapes, vous pouvez vous assurer que les cookies sont enregistrés et chargés correctement entre différentes pages web à l’aide de Puppeteer. Cette méthode vous permet de maintenir efficacement les états de session pendant les tâches de Scraping web.
Pour des solutions de Scraping web plus avancées, pensez à utiliser le navigateur Puppeteer de Bright Data. Il offre une solution tout-en-un pour gérer l’infrastructure de scraping automatisée, contourner les CAPTCHA et faire évoluer vos projets de scraping sans effort.