Giảm giá bất ngờ: Thưởng thức Giảm 90% Đăng ký của bạn!

  • Định giá
  • Tài liệu
VI
Liên hệ

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

Sản phẩm

Trình duyệt chống vân tay
Nstbrowser RPA
Vượt qua đám mây
Browserless
Trình mở khóa web

Giải pháp

Trình duyệt chống vân tay dựa trên đám mây
Quản lý nhiều tài khoản
Rút trích nội dung trang web
Phát hiện chống bot

Nguồn

Định giá
Tải xuống
Thị trường RPA
Chương trình liên kết
Đối tác
Blog
Ghi chú phát hành

Ủng hộ

Liên hệ

Tài liệu

Hợp pháp

Điều kiện
Chính sách bảo mật
Chính sách cookie

Sản phẩmGiải phápNguồnỦng hộHợp pháp

Sản phẩmGiải phápNguồn

Ủng hộHợp pháp

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

Quay lại Blog
Khởi chạy hồ sơ Nstbrowser trong Docker
Browserless

Cách khởi chạy hồ sơ Nstbrowser trong Docker?

Tìm hiểu cách khởi chạy profile Nstbrowser trong Docker, đồng bộ dữ liệu giữa các môi trường và tự động hóa quy trình làm việc bằng API. Hướng dẫn này bao gồm mọi thứ từ thiết lập đến thực thi.
Mar 14, 2025Carlos Rivera

Bài viết này, chúng ta sẽ khám phá cách khởi chạy profile Nstbrowser trong Docker, bao gồm cả thiết lập thủ công và tự động hóa bằng API. Chúng ta cũng sẽ chứng minh cách đồng bộ dữ liệu đăng nhập giữa client và container Docker, cho phép trải nghiệm không cần đăng nhập.

Bắt đầu thôi!

Chuẩn bị

  1. Truy cập trang web chính thức của Nstbrowser và tải xuống client phù hợp với nền tảng của bạn. Làm theo hướng dẫn cài đặt để thiết lập nó trên hệ thống của bạn.
  2. Sau khi cài đặt client, đăng ký tài khoản và đăng nhập để tạo khóa API duy nhất của bạn. Khóa này sẽ rất cần thiết để thực hiện các yêu cầu API sau này.
tạo khóa API
  1. Nếu bạn chưa có, hãy cài đặt Docker trên hệ thống của bạn. Bạn có thể kéo ảnh Docker chính thức của Nstbrowser bằng lệnh sau:
Shell Copy
docker run -it \
  -e TOKEN=xxx \
  -p 8848:8848 \
  -p 5900:5900 \
  --name browserless \
  nstbrowser/browserless:latest

Cách tạo và khởi chạy Profile trong Nstbrowser?

Nstbrowser hỗ trợ hai loại profile: Profile Chung và Profile Một lần. Dưới đây, bạn sẽ tìm thấy các bước chi tiết để tạo và khởi chạy từng loại dựa trên nhu cầu của bạn.

Profile Chung

Tạo và Khởi chạy Thủ công

Điều hướng đến trang tạo profile trong client Nstbrowser. Tùy chỉnh dấu vân tay trình duyệt theo nhu cầu của bạn hoặc sử dụng các cấu hình đã được xác định trước. Nhấp vào "Tạo Profile" để tạo profile.

Tạo Profile

Sau khi profile được tạo, nhấp vào nút "Khởi chạy" để bắt đầu nó.

Khởi chạy profile

Nếu cảnh báo này xuất hiện, hãy nhấp vào Tải xuống Ngay. Chờ cho quá trình cài đặt hoàn tất và khởi động lại profile.

cảnh báo

Tạo và Khởi chạy dựa trên API

Chúng tôi khuyên bạn nên sử dụng API v2 cho các hoạt động lập trình. Dưới đây là các bước để tạo và khởi chạy profile thông qua API.

Tạo Profile bằng API

Nstbrowser cung cấp API CreateProfile. Yêu cầu giao diện này sẽ trực tiếp tạo profile cho bạn. Hãy chú ý đến các tham số bắt buộc. Sử dụng curl để bắt đầu yêu cầu:

Shell Copy
# thay thế bằng apikey của bạn
curl 'http://localhost:8848/api/v2/profiles/' -X POST \
-H 'Content-Type: application/json' \
-H 'x-api-key: apikey' \
--data-raw $'{"name": "profileCreatedByApiCreateProfile"}'

Kết quả trả về:

JSON Copy
{
    "data": {
        "profileId": "xxxxxx",
        "fingerprintId": "xxxxxx",
        "groupId": "xxxxxx",
        "teamId": "xxxxxx",
        "userId": "xxxxxx",
        "name": "profileCreatedByApiCreateProfile",
        "kernel": 0,
        "kernelVersion": "",
        "kernelMilestone": "132",
        "uaFullVersion": "132.0.6834.83",
        "platform": 0,
        "platformVersion": "13.0.0",
        "saveLocal": false,
        "status": 1,
        "note": ""
    },
    "err": false,
    "msg": "success",
    "code": 200
}

Bạn có thể thấy profile bạn vừa tạo bằng API CreateProfile trên trang Profiles của Dashboard.

API CreateProfile

Khởi chạy Profiles

Các API sau đây có thể được sử dụng để bắt đầu Profile đã được tạo:

  • API StartBrowser

Giao diện này được sử dụng để bắt đầu profile hàng ngày đã được tạo. Phương pháp curl khởi tạo giao diện yêu cầu:

Shell Copy
# thay thế bằng apikey và profileId của bạn
curl 'http://localhost:8848/api/v2/browsers/xxxxxx' -X POST \
-H 'x-api-key: apikey'

Kết quả trả về:

JSON Copy
{
    "data": {
        "profileId": "xxxxxx",
        "port": 46300,
        "webSocketDebuggerUrl": "ws://127.0.0.1:browserPort/devtools/browser/xxxxx"
    },
    "err": false,
    "msg": "success",
    "code": 200
}

Bạn có thể thấy rằng Profile chúng ta đã tạo thông qua API đã được bắt đầu thành công thông qua yêu cầu giao diện.

Profile chúng ta đã tạo
  • API StartBrowsers

Giao diện này được sử dụng để bắt đầu hàng loạt các profile đã được tạo. Phương pháp curl khởi tạo giao diện yêu cầu:

Shell Copy
# thay thế bằng apikey và profileIds của bạn
curl 'http://localhost:8848/api/v2/browsers' -X POST \
--header 'Content-Type: application/json' \
-H 'x-api-key: apikey' \
--data-raw '[
    "xxxxxx",
    "xxxxxx"
]

Bạn có thể thấy rằng profile chúng ta đã tạo trước đó đã được bắt đầu thành công thông qua API bắt đầu hàng loạt

API bắt đầu hàng loạt
  • API ConnectBrowser

Giao diện này hỗ trợ truy cập bằng HTTP GET và WebSocket. Nếu bạn chỉ muốn khởi chạy trình duyệt, vui lòng sử dụng HTTP GET để truy cập. Nếu bạn muốn kết nối, bạn cần sử dụng WebSocket để truy cập. Nó chủ yếu được sử dụng cho:

  1. Kết nối với trình duyệt đang chạy, bạn cần khởi chạy profile trước.
  2. Khởi chạy và kết nối với profile đã được tạo. Bạn không cần phải khởi chạy profile trước.

Dưới đây minh họa cách truy cập giao diện bằng JavaScript Puppeteer:

JavaScript Copy
import puppeteer from "puppeteer-core";

// apikey của bạn
const apiKey = 'xxxxxx';
// profileId của bạn
const profileId = 'xxxxxx';
// điểm cuối WebSocket của trình duyệt
const browserWSEndpoint = `ws://localhost:8848/api/v2/connect/${profileId}`;

(async () => {
    let browser = null
    try {
        browser = await puppeteer.connect({
            browserWSEndpoint,
            defaultViewport: null, // đặt viewport tối đa
            headers: {
                'x-api-key': apiKey,
            }
        });
        const page = await browser.newPage();
        await page.goto("https://nstbrowser.io");
        await page.screenshot({ fullPage: true, path: 'nstbrowser.png' });
    }
    catch (e) {
        console.log(e);
    } finally {
        browser && browser.close();
    }
})();

Chúng ta có thể thấy rằng profile chúng ta đã tạo trước đó thông qua API CreateProfile đã được khởi chạy thành công và truy cập vào trang web chính thức của Nstbrowser.

trang web chính thức của Nstbrowser

Profile Một lần

Profile một lần không lưu dữ liệu người dùng. Thư mục profile tự động bị xóa sau khi trình duyệt đóng. Bạn có thể khởi chạy hoặc kết nối với profile một lần bằng API ConnectOnceBrowser. Dưới đây là cách truy cập API bằng JavaScript Playwright:

JavaScript Copy
import { chromium } from "playwright";

// apikey của bạn
const apiKey = 'xxxxxx';
// cấu hình profile một lần
const config = {
    "name": "onceProfileByConnectOnceBrowser"
};
const query = new URLSearchParams({
    "config": JSON.stringify(config),
});
// điểm cuối WebSocket của `API ConnectOnceBrowser` với cấu hình khởi chạy
const endpointURL = `ws://localhost:8848/api/v2/connect?${query.toString()}`;

(async () => {
    let browser = null
    try {
        browser = await chromium.connectOverCDP(
            endpointURL,
            {
                headers: {
                    'x-api-key': apiKey,
                }
            });
        const page = await browser.newPage();
        await page.goto("https://google.com");
        await page.screenshot({ fullPage: true, path: 'google.png' });
    }
    catch (e) {
        console.log(e);
    } finally {
        browser && browser.close();
    }
})();

Profile once này sẽ tự động xóa dữ liệu của người dùng sau khi đóng.

profile một lần

Cách khởi chạy Profile được tạo bởi client trong Docker?

Bước 1. Tạo và khởi chạy profile

Chúng ta tạo một profile trên client và thêm trang đăng nhập Google vào URL Khởi chạy. Bạn cũng có thể nhập các trang web khác:

URL Khởi chạy

Để đồng bộ dữ liệu profile được khởi chạy bởi client vào container Docker, bạn cần bật đồng bộ đám mây và đồng bộ cookie trong cài đặt nhóm:

đồng bộ profile

Bước 2. Đồng bộ dữ liệu đăng nhập

Nhấp để khởi chạy profile và đăng nhập vào Google, sau đó nhấp để đóng trình duyệt và dữ liệu sẽ tự động được đồng bộ lên đám mây:

Bước 3. Khởi chạy profile trong Docker

  • Chạy container
Shell Copy
# thay thế xxxxxx bằng apikey của bạn
docker run -it \
  -e TOKEN=xxxxxx \
  -p 8848:8848 \
  -p 5900:5900 \
  --name browserless \
  nstbrowser/browserless:latest
  • Khởi chạy profile

Chúng ta sử dụng mã trong Tự động hóa bằng JavaScript Puppeteer để truy cập container Docker và khởi chạy profile của tài khoản Google đã đăng nhập trên client:

JavaScript Copy
import puppeteer from 'puppeteer';

async function execPuppeteer(browserWSEndpoint) {
  try {
    const browser = await puppeteer.connect({
      browserWSEndpoint: browserWSEndpoint,
      defaultViewport: null,
    });

    const page = await browser.newPage();
    await page.goto('https://myaccount.google.com');
    await page.screenshot({ path: 'google.png' });
    await browser.disconnect();
  } catch (err) {
    console.error(err);
  }
}

// ConnectBrowser: Khởi chạy và kết nối với trình duyệt đang chạy hoặc profile đã được tạo
async function launchAndConnectToBrowser(profileId) {
  const host = 'localhost:8848';
  const browserWSEndpoint = `ws://${host}/api/v2/connect/${profileId}`;
  console.log('browserWSEndpoint: ', browserWSEndpoint);
  await execPuppeteer(browserWSEndpoint);
}

launchAndConnectToBrowser('your profileId').then();

Sau khi khởi chạy profile, trang tài khoản Google sẽ tự động được truy cập. Vì chúng ta đã đăng nhập vào tài khoản Google trên client và bật đồng bộ đám mây, nên chúng ta có thể đồng bộ thông tin đăng nhập tài khoản Google sau khi khởi chạy profile trong container docker.

đồng bộ tài khoản Google

Suy nghĩ cuối cùng

Chúng ta đã giới thiệu cách tạo và khởi chạy profile, và chứng minh cách đăng nhập vào trang Nstbrowser sau khi tạo và khởi chạy profile với đồng bộ đám mây được bật trên client, và sau đó đồng bộ dữ liệu thành công sau khi khởi chạy profile trong container Docker để đạt được hiệu ứng không cần đăng nhập.

Bài viết này và tất cả các giao diện đều dựa trên Nstbrowser API v2, yêu cầu client Nstbrowser được cập nhật lên phiên bản v1.15.4 trở lên, và phiên bản ảnh Docker 132-202503101200.v1 trở lên

Đọc thêm

  • Cách bỏ qua Cloudfalre Turnstile bằng Browserless của Nstbrowser?
  • Cách bỏ qua Thử thách Cloudflare 5S thông qua Browserless?
  • Cách xây dựng dịch vụ crawler trên Ubuntu với Nstbrowser?
Hơn
http-2-bypass
Browserless
Phân tích dấu vân tay HTTP/2 và cách vượt qua nó?
Tìm hiểu cách vượt qua dấu vân tay HTTP/2 trong thu thập dữ liệu web với sáu phương pháp mạnh mẽ, từ việc sử dụng trình duyệt thực tế đến Browserless dựa trên đám mây. Tránh bị phát hiện bởi các biện pháp chống bot hiện đại.
Jun 03, 2025Carlos Rivera
Tải tiện ích mở rộng trình duyệt trong Nstbrowser Docker
Browserless
Cách tải tiện ích mở rộng trình duyệt trong Nstbrowser Docker?
Tìm hiểu 2 phương pháp tải tiện ích mở rộng trong Nstbrowser và các bước để khởi chạy chúng trong Docker.
Mar 19, 2025Tạ Quí Lĩnh
Khởi chạy hồ sơ Nstbrowser trong Docker
Browserless
Cách khởi chạy hồ sơ Nstbrowser trong Docker?
Tìm hiểu cách khởi chạy profile Nstbrowser trong Docker, đồng bộ dữ liệu giữa các môi trường và tự động hóa quy trình làm việc bằng API. Hướng dẫn này bao gồm mọi thứ từ thiết lập đến thực thi.
Mar 14, 2025Carlos Rivera
Cách sử dụng Browserless của Nstbrowser để tự động giải quyết Cloudflare Turnstile (2025)
BrowserlessCloudflare BypassHeadless Browser
Cách sử dụng Browserless của Nstbrowser để tự động giải quyết Cloudflare Turnstile (2025)
Tìm hiểu cách bỏ qua Cloudflare Turnstile bằng dịch vụ Browserless của Nstbrowser và Puppeteer. Hướng dẫn này sẽ hướng dẫn bạn thiết lập, triển khai và những lợi thế của việc tự động hóa các tác vụ thu thập dữ liệu web đồng thời đảm bảo sự tuân thủ và hiệu quả.
Mar 07, 2025Triệu Lệ Chi
Cách sử dụng Browserless của Nstbrowser để vượt qua thử thách Cloudflare 5s (2025)
BrowserlessCloudflare BypassHeadless Browser
Cách sử dụng Browserless của Nstbrowser để vượt qua thử thách Cloudflare 5s (2025)
Tìm hiểu cách bỏ qua Thử thách 5s của Cloudflare bằng dịch vụ Browserless của Nstbrowser và Puppeteer. Hướng dẫn này sẽ hướng dẫn bạn thiết lập, triển khai và những lợi thế của việc tự động hóa các tác vụ thu thập dữ liệu web đồng thời đảm bảo sự tuân thủ và hiệu quả.
Mar 06, 2025Robin Brown
Trình duyệt hỗ trợ trí tuệ nhân tạo
Browserless
Browserless: Trình duyệt mạnh mẽ hỗ trợ AI giúp đơn giản hóa tương tác web của bạn
Bài viết này khám phá sự tích hợp mạnh mẽ của các tác nhân AI với Browserless để hợp lý hóa và nâng cao việc thu thập dữ liệu web.
Jan 24, 2025Robin Brown
Mục lục