Si vous souhaitez parser un site internet, il existe puppeteer.
Installation
Pour installer puppeteer :
yarn add -D puppeteer
Prendre un screenshot
Voici un exemple de script Node.js pour prendre un screenshot d'un site internet :
#!/bin/nodeconst 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();})();
Parser l'URL d'une vidéo
Si la page que vous souhaitez parser dispose d'un lien video, vous pouvez reprendre son URL :
const url = await page.$eval('video', (a) => a.getAttribute('src'));
Et si vous intégrer youtube-dl
, vous pouvez enregistrer la vidéo en question :
await execSync(`youtube-dl -o "${filePath}" -f 'best[ext=mp4]' ${url}`, { stdio: 'inherit' });
Vous connecter sur un site automatiquement
Vous pouvez vous connecter automatiquement sur un site en remplissant automatiquement les champs email
et password
, puis sauvegarder le cookie dans un fichier cookie.json
:
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));
Facultatif : vous pouvez exporter le cookie directement depuis votre navigateur via cette extension.
Modifier les paramètre du navigateur headless
Puppetteer vous permet de modifier les paramètres du navigateur headless. Si vous souhaitez modifier le navigateur ou le header HTTP User-Agent, écrivez les lignes suivantes :
const browser = await puppeteer.launch({ executablePath: '/usr/bin/google-chrome-stable' });const page = await browser.newPage();await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.0 Safari/537.36');