Node JS + puppeteer + Excel - скриншоты сайтов
Цена договорная
Добрый день
Стоит задача делать качественные скриншоты множества сайтов через puppeteer.
1. Список сайтов находится в файле EXCEL
- первую строку не учитываем
- столбец А: ID (он же будет именем файла скриншота)
- столбец B: URL сайта
Сайтов в списке может быть до нескольких тысяч
2. Тестовая функция для создания скриншота
Тестировал варианты для максимального качества скриншотов. В итоге получилась функция с такими настройками.
async function getPicJPG() {
const browser = await puppeteer.launch(); //({headless: false})
const page = await browser.newPage();
await page.setViewport({width: 1600, height: 1200});
await page.goto(siteURL,{ waitUntil: 'networkidle2' });
await page.screenshot({path: DT + '__JPG.jpg', type: 'jpeg', quality: 100, fullPage: true});
await browser.close();
}
Задание
Написать программу для создания скриншотов. Модули, которые необходимо использовать:
1. puppeteer-extra-plugin-stealth
https://www.npmjs.com/package/puppeteer-extra-plugin-stealth
Для маскировки puppeteer под обычный браузер
2. Загрузка списка сайтов из EXCEL
- последовательное создание скриншотов по списку
- ID из EXCEL - это имя файла скриншота
Возможно, что подойдет плагин https://www.npmjs.com/package/excel
3. Обработка ошибок и лог в консоль
Успешность или неуспешность создания очередного скриншота должна отображаться в консоли
Иные ошибки также необходимо обрабатывать, чтобы процесс создания скриншотов был непрерывным
4. Возможность параллельного создания нескольких скриншотов (например, пачками по 5 или 10)
Для ускорения можно немного распараллелить процессы. Возможно, что подойдет https://github.com/thomasdondorf/puppeteer-cluster
В итоге:
Программа запускается через консоль. Берет список URL из EXCEL и начинает работу. ID из EXCEL - имя файла. Ошибки должны обрабатываться и не прерывать процессы. С помощью плагина stealth сам puppeteer маскируется.
Желательно организовать параллельное создание скриншотов.
Использоваться будет под Windows
Стоит задача делать качественные скриншоты множества сайтов через puppeteer.
1. Список сайтов находится в файле EXCEL
- первую строку не учитываем
- столбец А: ID (он же будет именем файла скриншота)
- столбец B: URL сайта
Сайтов в списке может быть до нескольких тысяч
2. Тестовая функция для создания скриншота
Тестировал варианты для максимального качества скриншотов. В итоге получилась функция с такими настройками.
async function getPicJPG() {
const browser = await puppeteer.launch(); //({headless: false})
const page = await browser.newPage();
await page.setViewport({width: 1600, height: 1200});
await page.goto(siteURL,{ waitUntil: 'networkidle2' });
await page.screenshot({path: DT + '__JPG.jpg', type: 'jpeg', quality: 100, fullPage: true});
await browser.close();
}
Задание
Написать программу для создания скриншотов. Модули, которые необходимо использовать:
1. puppeteer-extra-plugin-stealth
https://www.npmjs.com/package/puppeteer-extra-plugin-stealth
Для маскировки puppeteer под обычный браузер
2. Загрузка списка сайтов из EXCEL
- последовательное создание скриншотов по списку
- ID из EXCEL - это имя файла скриншота
Возможно, что подойдет плагин https://www.npmjs.com/package/excel
3. Обработка ошибок и лог в консоль
Успешность или неуспешность создания очередного скриншота должна отображаться в консоли
Иные ошибки также необходимо обрабатывать, чтобы процесс создания скриншотов был непрерывным
4. Возможность параллельного создания нескольких скриншотов (например, пачками по 5 или 10)
Для ускорения можно немного распараллелить процессы. Возможно, что подойдет https://github.com/thomasdondorf/puppeteer-cluster
В итоге:
Программа запускается через консоль. Берет список URL из EXCEL и начинает работу. ID из EXCEL - имя файла. Ошибки должны обрабатываться и не прерывать процессы. С помощью плагина stealth сам puppeteer маскируется.
Желательно организовать параллельное создание скриншотов.
Использоваться будет под Windows
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.