Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2020, 07:24
Новичок на форуме
Отправить личное сообщение для aetest Посмотреть профиль Найти все сообщения от aetest
 
Регистрация: 09.07.2020
Сообщений: 3

Потоки 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();
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2020, 10:55
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

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();
  })
})();
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2020, 11:20
Новичок на форуме
Отправить личное сообщение для aetest Посмотреть профиль Найти все сообщения от aetest
 
Регистрация: 09.07.2020
Сообщений: 3

Спасибо. А если брать что-то более сложное, к примеру, где идут переходы по нескольким страницам с выполнением некоторых действий. Есть какой-то универсальный метод?
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2020, 11:50
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

хз, у всех задачи разные, и прям такое из коробки трудно представить, либо за все надо платить (https://a-parser.com/wiki/parsers/) и т.д.
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2020, 13:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

aetest, вы же не думаете, что какой-то сервис позволит вам безнаказанно в несколько десятков вкладок парсить их сайт?
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2020, 07:10
Новичок на форуме
Отправить личное сообщение для aetest Посмотреть профиль Найти все сообщения от aetest
 
Регистрация: 09.07.2020
Сообщений: 3

Сообщение от Nexus Посмотреть сообщение
aetest, вы же не думаете, что какой-то сервис позволит вам безнаказанно в несколько десятков вкладок парсить их сайт?
Уже подумал. Более того, он это позволяет. Да и мне не несколько десятков нужно, а буквально пару/тройку.

Дополню к теме. Возможно, кто-то захочет за определенную плату сделать аналогичную схему в другом готовом скрипте (~70 строк), отпишите тогда в личные сообщения.

Последний раз редактировалось aetest, 10.07.2020 в 07:31.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация по node JS oleg901 Node.JS 0 16.03.2020 00:55
Маршрутизация и get post запросы в Node js daniilka87 Node.JS 6 24.02.2020 21:40
Создание сервера Javascript приложений на Node js Andrey829399290220 Node.JS 0 07.06.2019 09:50
Нужен специалист по Node js NPM для платных консультаций romanbiz Работа 0 11.05.2019 11:03
Node js + electron +usb = error koeshiro Node.JS 0 23.11.2016 23:36