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 🤘