Pasos para extraer y guardar datos scrapeados con puppeteer en determinada base de datos mysql.

Primero necesitamos instalar la librerias de puppeteer y mysql:

npm i puppeteer-core
npm install mysql

Y una demo sencilla para guardar unos datos (nombre y apellidos) de una web (con selectores #nombre y #apellidos en su html) y isertarlos en una tabla (persona) de una basede datos (agenda) mysql:

const puppeteer = require('puppeteer');
var mysql = require('mysql');

(async () => {

  const browser = await puppeteer.launch()
  const page = await browser.newPage()

  const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'agenda'
  });

  let url = 'http://un-dominio.com/url-que-sea';

  await page.goto(url)

  if (await page.$('#nombre') !== null){

    nombre = await page.$eval('#nombre', el => el.innerText);
    apellidos = await page.$eval('#apellidos', el => el.innerText); 

    const insertoPersona = "INSERT INTO persona ( nombre, apellidos ) values (?,?)";

    let rows = await new Promise((resolve,reject)=>{
      connection.query(insertoPersona,[nombre, apellidos],function(err, rows) {
        if (err) {
          console.log(err);
          reject(err);
        } else {
          console.log('Fila insertada');
          resolve(rows);
        }
      });
    });

  }
  
  await browser.close()

})()

pd: cambiar los valores de conexión por los tuyos.

Agradezco tu comentario 🤘