Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
Cómo establecer un intervalo para verificar una URL específica varias veces en web scrapper nodejs - titiritero

Tengo un web scrapper que verifica una URL y hace capturas de pantalla de la página para mí, quiero un intervalo entre cada vez que se verifica la URL, ya que el sitio web es sensible a demasiadas solicitudes por minuto. Aquí está mi código. Agradecería cualquier ayuda ya que estoy totalmente atascado con él:

 const puppeteer = require('puppeteer'); process.setMaxListeners(Infinity) const fs = require('fs'); const csv = require('csv-parser'); const { setTimeout } = require('timers/promises'); var inputFile = 'app_ids.csv'; fs.createReadStream(inputFile) .pipe(csv()) .on('data', function (data) { try { // console.log(data.app_id); (async () => { let app_id = data.app_id console.log(app_id) const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://evisatraveller.mfa.ir/fa/request/state/' + app_id,{ waitUntil: 'load', timeout: 0 }); await page.screenshot({ path: 'output/' + app_id + '.png' }); await browser.close(); })(); } catch (err) { console.log('Error:', err) //error handler } }) .on('end', function () { //some final operation });

y si configuro el tiempo de timeout en cualquier número, no funciona, supongo que usar el intervalo es la única forma, pero no sé dónde implementarlo.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede agregar esta función a continuación al final de su código.

 function blockingWait(seconds) { var waitTill = new Date(new Date().getTime() + seconds * 1000); while(waitTill > new Date()){} }

Luego agregue blockingWait(15); después del bloque try-catch

Por lo tanto, habrá un tiempo de espera 15 segundos antes de que se cierre el navegador o después de que se cierre el navegador.

Cambie el 15 a cualquiera que sea su elección de número.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!