Créer un script de parsing avec puppeteer

Mis à jour le

Si vous souhaitez parser un site internet, il existe puppeteer.

npm i puppeteer

Voici un exemple de script nodejs pour prendre un screenshot d'un site internet avec puppeteer :

#!/bin/node

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://johackim.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

Vous pouvez reprendre l'URL d'une video intégré sur un site :

const url = await page.$eval('video', (a) => a.getAttribute('src'));

Intégrer avec youtube-dl, vous pouvez enregistrer la vidéo en question :

await execSync(`youtube-dl -o "${filePath}" -f 'best[ext=mp4]' ${url}`, { stdio: 'inherit' });

Ou vous connecter automatiquement sur un site en remplissant automatiquement les champs email et password et sauvegarder le cookie dans un fichier :

await page.focus('input#email');
await page.keyboard.type(email);

await page.focus('input#password');
await page.keyboard.type(password);

await page.click('.container form button[type=submit]');

await page.waitForSelector('.logged-in');

const cookies = await page.cookies();
await page.setCookie(...cookies);

fs.writeFileSync('cookie.json', JSON.stringify(cookies, null, 2));

©2017-2021