Потоки node js
Доброго времени. Я использую puttepeer для автоматизации действий в браузере. Ниже предоставлен код, который циклично сохраняет изображение сайта. Предположим, что на полную загрузку страницы уходит 2000 мс. Но мне нужно, чтобы я видел новое изображение каждые 500 мс. Отсюда вопрос: как мне пустить это всё в несколько потоков?
const puppeteer = require('puppeteer');
const cl = 0
async function getPic() {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
while (cl < 1) {
await page.goto('https://google.com');
await page.setViewport({width: 1000, height: 500})
await page.screenshot({path: 'google.png'});
}
}
getPic();
|
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport({ width: 640, height: 480, deviceScaleFactor: 1 });
let shotNum = 0
let interval = setInterval(/*async*/() => {
/*await*/ page.screenshot({ path: `example.png${shotNum++}` })
}, 500);
page.goto('https://example.com', {
//https://pptr.dev/#?product=Puppeteer&version=v5.0.0&show=api-pagewaitfornavigationoptions
waitUntil: "domcontentloaded" //"networkidle2" //"networkidle0" //"load"
}).then(async () => {
clearInterval(interval)
await browser.close();
})
})();
|
Спасибо. А если брать что-то более сложное, к примеру, где идут переходы по нескольким страницам с выполнением некоторых действий. Есть какой-то универсальный метод?
|
хз, у всех задачи разные, и прям такое из коробки трудно представить, либо за все надо платить (https://a-parser.com/wiki/parsers/) и т.д. ;)
|
aetest, вы же не думаете, что какой-то сервис позволит вам безнаказанно в несколько десятков вкладок парсить их сайт?
|
Цитата:
Дополню к теме. Возможно, кто-то захочет за определенную плату сделать аналогичную схему в другом готовом скрипте (~70 строк), отпишите тогда в личные сообщения. |
| Часовой пояс GMT +3, время: 08:31. |