Browserless là một giải pháp trình duyệt dựa trên đám mây được thiết kế để tự động hóa trình duyệt, thu thập dữ liệu web và kiểm tra hiệu quả.
Nó sử dụng thư viện dấu vân tay của Nstbrowser để cho phép chuyển đổi dấu vân tay ngẫu nhiên, đảm bảo thu thập dữ liệu và tự động hóa trơn tru. Nhờ cơ sở hạ tầng đám mây mạnh mẽ, Browserless đơn giản hóa việc truy cập nhiều phiên bản trình duyệt, giúp quản lý các tác vụ tự động hóa dễ dàng hơn.
Bạn có ý tưởng hay nghi ngờ gì về thu thập dữ liệu web và Browserless không?
Hãy xem những gì các nhà phát triển khác đang chia sẻ trên Discord và Telegram!
Browserless hoạt động bằng cách cung cấp trình duyệt không đầu dưới dạng dịch vụ, cho phép người dùng thực hiện các tác vụ tự động hóa trình duyệt mà không cần giao diện đồ họa.
Nó cho phép các nhà phát triển chạy các tác vụ dựa trên trình duyệt, chẳng hạn như thu thập dữ liệu web, kiểm tra tự động và hiển thị trang web, thông qua API. Bằng cách hoạt động trong môi trường đám mây, Browserless đơn giản hóa quy trình tự động hóa trình duyệt bằng cách loại bỏ nhu cầu thiết lập thủ công hoặc duy trì cơ sở hạ tầng trình duyệt.
Browserless hỗ trợ các thư viện phổ biến như Puppeteer và Playwright, cho phép người dùng tương tác với các trang web theo cách lập trình. Cơ sở hạ tầng dựa trên Docker cho phép triển khai có khả năng mở rộng và linh hoạt, giúp nó hiệu quả cho cả các ứng dụng quy mô nhỏ và cấp doanh nghiệp. Nó có thể được tích hợp vào quy trình làm việc để tự động hóa các tác vụ lặp đi lặp lại hoặc thu thập dữ liệu từ các trang web yêu cầu trình duyệt để truy cập.
Để có trải nghiệm tốt hơn, vui lòng tạo tài khoản mới trên trang web chính thức của chúng tôi.
Đăng nhập vào Nstbrowser client bằng thông tin bạn đã đăng ký. Sau khi đăng nhập thành công, đừng quên tạo API key duy nhất của bạn từ menu API!

Bạn cần lấy API Key và thay thế phần {YOUR_API_KEY} sau.
docker run -it -e TOKEN={YOUR_API_KEY} -e SERVER_PORT=8848 -p 8848:8848 --name nstbrowserless nstbrowser/browserless:0.0.1-beta

Bạn có thể kết nối với trình duyệt không đầu thông qua Puppeteer, Playwright, Chromedp hoặc các thư viện CDP khác để đạt được chức năng hoạt động và chụp ảnh màn hình của trình duyệt không đầu.
Puppeteer là một thư viện Node.js cung cấp API cấp cao để kiểm soát trình duyệt Chrome và hỗ trợ các hoạt động thông qua giao thức DevTools.
npm install puppeteer
puppeteer.jsconst puppeteer = require("puppeteer");
(async () => {
const host = "127.0.0.1:8848"; // Thay thế bằng IP Docker container của bạn
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' }); // Chờ mạng nhàn rỗi
await page.screenshot({ path: "screenshot.png", fullPage: true }); // Chụp ảnh màn hình toàn trang
console.log("Ảnh màn hình đã được chụp và lưu dưới dạng screenshot.png");
await browser.close(); // Đóng kết nối trình duyệt
} catch (err) {
console.error("Lỗi xảy ra:", err);
}
})();
node puppeteer.js
Sau khi chạy, bạn có thể thấy trình duyệt không đầu hoạt động như chúng ta mong muốn:

Bây giờ, dự án đã hoàn thành, bạn có thể tìm ra screenshot.png được tạo:

Playwright là một framework để kiểm tra và tự động hóa web cho phép kiểm tra trình duyệt Chrome thông qua một API duy nhất.
npm install playwright
import { chromium } from "playwright";
(async () => {
const host = "127.0.0.1:8848"; // thay thế bằng IP Docker container của bạn
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' }); // chờ mạng nhàn rỗi
await page.screenshot({ path: "screenshot.png" }); // chụp ảnh màn hình toàn trang
console.log("Ảnh màn hình đã được chụp và lưu dưới dạng screenshot.png");
await browser.close(); // đóng kết nối trình duyệt
} catch (err) {
console.error("Lỗi xảy ra:", err);
}
})();
node playwright.js
Tương tự như Puppeteer, sau khi chạy, bạn cũng có thể tìm ra screenshot.png được tạo.

Browserless giúp thu thập dữ liệu web và tự động hóa dễ dàng. Trong blog này, bạn có thể thấy:
Nstbrowser mang đến cho bạn giải pháp tối ưu. Hãy thử Browserless miễn phí ngay bây giờ!