Browserless - это облачное решение для браузера, разработанное для эффективной автоматизации браузера, веб-скрапинга и тестирования.
Он использует библиотеку отпечатков пальцев Nstbrowser для включения случайного переключения отпечатков пальцев, обеспечивая плавный сбор данных и автоматизацию. Благодаря своей надежной облачной инфраструктуре Browserless упрощает доступ к нескольким экземплярам браузера, что облегчает управление задачами автоматизации.
Есть ли у вас замечательные идеи и сомнения по поводу веб-скрапинга и Browserless?
Давайте посмотрим, чем делятся другие разработчики на Discord и Telegram!
Browserless работает, предоставляя браузер без графического интерфейса в качестве сервиса, что позволяет пользователям выполнять задачи автоматизации браузера без необходимости графического интерфейса.
Он позволяет разработчикам выполнять задачи, связанные с браузером, такие как веб-скрапинг, автоматизированное тестирование и рендеринг веб-страниц, через API. Работая в облачной среде, Browserless упрощает процесс автоматизации браузеров, устраняя необходимость ручной настройки или обслуживания инфраструктуры браузера.
Browserless поддерживает популярные библиотеки, такие как Puppeteer и Playwright, позволяя пользователям взаимодействовать с веб-сайтами программно. Его инфраструктура на основе Docker позволяет масштабировать и гибко развертывать, что делает его эффективным как для небольших, так и для крупных предприятий. Его можно интегрировать в рабочие процессы для автоматизации повторяющихся задач или сбора данных с веб-сайтов, для доступа к которым требуется браузер.
Для лучшего опыта, пожалуйста, создайте новую учетную запись на нашем официальном сайте.
Войдите в клиент Nstbrowser, используя информацию, которую вы зарегистрировали. После успешного входа в систему не забудьте сгенерировать свой уникальный API ключ в меню API!

Вам нужно получить API Key и заменить часть {YOUR_API_KEY} в следующем коде.
docker run -it -e TOKEN={YOUR_API_KEY} -e SERVER_PORT=8848 -p 8848:8848 --name nstbrowserless nstbrowser/browserless:0.0.1-beta

Вы можете подключиться к браузеру без графического интерфейса через Puppeteer, Playwright, Chromedp или другие библиотеки CDP для достижения работы и функций снимка экрана браузера без графического интерфейса.
Puppeteer - это библиотека Node.js, которая предоставляет высокоуровневый API для управления браузером Chrome и поддерживает операции через протокол DevTools.
npm install puppeteer
puppeteer.jsconst puppeteer = require("puppeteer");
(async () => {
const host = "127.0.0.1:8848"; // Замените на IP вашего Docker контейнера
const browserWSEndpoint = `ws://${host}/ws/connect`;
try {
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint,
});
const page = await browser.newPage();
await page.goto("https://google.com", { waitUntil: 'networkidle2' }); // Ожидайте, пока сеть станет свободной
await page.screenshot({ path: "screenshot.png", fullPage: true }); // Сделайте снимок экрана всей страницы
console.log("Screenshot taken and saved as screenshot.png");
await browser.close(); // Закройте соединение с браузером
} catch (err) {
console.error("Error occurred:", err);
}
})();
node puppeteer.js
После запуска вы можете увидеть, что браузер без графического интерфейса работает так, как мы хотели:

Теперь проект завершен, вы можете найти сгенерированный screenshot.png:

Playwright - это фреймворк для веб-тестирования и автоматизации, который позволяет тестировать браузер Chrome через единый API.
npm install playwright
import { chromium } from "playwright";
(async () => {
const host = "127.0.0.1:8848"; // замените на IP вашего Docker контейнера
const browserWSEndpoint = `ws://${host}/ws/connect`;
try {
const browser = await chromium.connectOverCDP(browserWSEndpoint);
const context = await browser.newContext();
const page = await context.newPage();
await page.goto("https://www.google.com/", { waitUntil: 'networkidle' }); // ожидайте, пока сеть станет свободной
await page.screenshot({ path: "screenshot.png" }); // сделайте снимок экрана всей страницы
console.log("Screenshot taken and saved as screenshot.png");
await browser.close(); // закройте соединение с браузером
} catch (err) {
console.error("Error occurred:", err);
}
})();
node playwright.js
Как и в случае с Puppeteer, после запуска вы также можете найти сгенерированный screenshot.png.

Browserless делает веб-скрапинг и автоматизацию простыми. В этом блоге вы можете увидеть:
Nstbrowser предоставляет вам оптимальное решение. Попробуйте Browserless бесплатно прямо сейчас!