🎁 惊喜折扣:订阅享受 1折优惠!

⚡️ Nstproxy - 超过1.1亿IP地址,助力闪电般快速的数据抓取与自动化,起价仅需0.1美元/GB。

  • 价钱
  • 文档
ZH
联系

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

产品

指纹浏览器
Nstbrowser RPA
绕过Cloudflare
网页解锁器

解决方案

云端指纹浏览器
多账户管理
网页抓取&自动化
反机器人检测

资源

价格
下载
RPA 市场
联盟计划
合作伙伴
博客
版本更新

支持

联系

文档

法规

条款
隐私政策
Cookie 政策

产品解决方案资源支持法规

产品解决方案资源

支持法规

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

返回博客
在Docker中启动Nstbrowser配置文件
Browserless

如何在Docker中启动Nstbrowser配置文件?

学习如何在 Docker 中启动 Nstbrowser 配置文件,同步跨环境的数据,并使用 API 自动化工作流程。本指南涵盖从设置到执行的全部内容。
Mar 14, 2025Carlos Rivera

本文将探讨如何在Docker中启动Nstbrowser配置文件,涵盖手动设置和API驱动的自动化两种方式。我们还将演示如何同步客户端和Docker容器之间的登录数据,实现免登录体验。

让我们开始吧!

准备工作

  1. 访问Nstbrowser官方网站并下载适合您平台的客户端。按照安装说明在您的系统上进行设置。
  2. 安装客户端后,注册一个帐户并登录以生成您的唯一API密钥。此密钥对于稍后进行API请求至关重要。
生成API密钥
  1. 如果您尚未安装,请在您的系统上安装Docker。您可以使用以下命令拉取官方Nstbrowser Docker镜像:
Shell Copy
docker run -it \
  -e TOKEN=xxx \
  -p 8848:8848 \
  -p 5900:5900 \
  --name browserless \
  nstbrowser/browserless:latest

如何在Nstbrowser中创建和启动配置文件?

Nstbrowser支持两种类型的配置文件:通用配置文件和一次性配置文件。下面,您将找到根据您的需求创建和启动每种类型的详细步骤。

通用Profile

手动创建和启动

在Nstbrowser客户端中导航到配置文件创建页面。根据您的需求自定义浏览器指纹,或使用预定义配置。点击“创建配置文件”创建配置文件。

创建配置文件

创建配置文件后,点击“启动”按钮启动它。

启动配置文件

如果出现此警告,请点击立即下载。等待安装完成并重新启动配置文件。

警告

基于API的创建和启动

我们建议使用API v2进行编程操作。以下是通过API创建和启动配置文件的步骤。

使用API创建配置文件

Nstbrowser提供了一个CreateProfile API。请求此接口将直接为您创建一个配置文件。请注意必需的参数。使用curl发起请求:

Shell Copy
# 请替换为您的apikey
curl 'http://localhost:8848/api/v2/profiles/' -X POST \
-H 'Content-Type: application/json' \
-H 'x-api-key: apikey' \
--data-raw $'{"name": "profileCreatedByApiCreateProfile"}'

响应:

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
}

您可以使用仪表盘配置文件页面上的CreateProfile API查看您刚刚创建的配置文件。

CreateProfile API

启动配置文件

可以使用以下API启动已创建的配置文件:

  • StartBrowser API

此接口用于启动已创建的每日配置文件。curl方法发起请求接口:

Shell Copy
# 请替换为您的apikey和profileId
curl 'http://localhost:8848/api/v2/browsers/xxxxxx' -X POST \
-H 'x-api-key: apikey'

响应结果:

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

您可以看到我们通过API创建的配置文件已通过接口请求成功启动。

我们创建的配置文件
  • StartBrowsers API

此接口用于批量启动已创建的配置文件。curl方法发起请求接口:

Shell Copy
# 请替换为您的apikey和profileIds
curl 'http://localhost:8848/api/v2/browsers' -X POST \
--header 'Content-Type: application/json' \
-H 'x-api-key: apikey' \
--data-raw '[
    "xxxxxx",
    "xxxxxx"
]

您可以看到我们之前创建的配置文件已通过批量启动API成功启动

批量启动API
  • ConnectBrowser API

此接口支持使用HTTP GET和WebSocket访问。如果您只想启动浏览器,请使用HTTP GET访问。如果您想连接,则需要使用WebSocket访问它。它主要用于:

  1. 连接到正在运行的浏览器,您需要提前启动配置文件。
  2. 启动并连接到已创建的配置文件。您不需要提前启动配置文件。

以下演示了如何使用JavaScript Puppeteer访问接口:

JavaScript Copy
import puppeteer from "puppeteer-core";

//您的apikey
const apiKey = 'xxxxxx';
//您的profileId
const profileId = 'xxxxxx';
//浏览器WebSocket端点
const browserWSEndpoint = `ws://localhost:8848/api/v2/connect/${profileId}`;

(async () => {
    let browser = null
    try {
        browser = await puppeteer.connect({
            browserWSEndpoint,
            defaultViewport: null, // 设置最大视口
            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();
    }
})();

我们可以看到我们之前通过CreateProfile API创建的配置文件已成功启动并访问了Nstbrowser官方网站。

Nstbrowser官方网站

一次性配置文件

一次性配置文件不保存用户数据。浏览器关闭后,配置文件目录将自动删除。您可以使用ConnectOnceBrowser API启动或连接到一次性配置文件。以下是使用JavaScript Playwright访问API的方法:

JavaScript Copy
import { chromium } from "playwright";

//您的apikey
const apiKey = 'xxxxxx';
//一次性配置文件配置
const config = {
    "name": "onceProfileByConnectOnceBrowser"
};
const query = new URLSearchParams({
    "config": JSON.stringify(config),
});
//`ConnectOnceBrowser API` WebSocket端点以及启动配置
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();
    }
})();

此once配置文件将在关闭后自动删除用户数据。

一次性配置文件

如何在Docker中启动客户端创建的配置文件?

步骤1. 创建并启动配置文件

我们在客户端上创建一个配置文件,并将Google登录页面添加到启动URL。您也可以输入其他网站:

启动URL

为了将客户端启动的配置文件数据同步到Docker容器,您需要在组设置中启用云同步和Cookie同步:

同步配置文件

步骤2. 同步登录数据

点击启动配置文件并登录Google,然后点击关闭浏览器,数据将自动同步到云端:

同步登录数据

步骤3. 在Docker中启动配置文件

  • 运行容器
Shell Copy
# 请将xxxxxx替换为您的apikey
docker run -it \
  -e TOKEN=xxxxxx \
  -p 8848:8848 \
  -p 5900:5900 \
  --name browserless \
  nstbrowser/browserless:latest
  • 启动配置文件

我们使用使用JavaScript Puppeteer进行自动化中的代码访问Docker容器并启动在客户端登录的Google帐户的配置文件:

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: 启动并连接到正在运行的浏览器或已创建的配置文件
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();

启动配置文件后,将自动访问Google帐户页面。因为我们在客户端登录了Google帐户并启用了云同步,所以我们可以在Docker容器中启动配置文件后同步Google帐户登录信息。

同步Google帐户

结语

我们介绍了如何创建和启动配置文件,并演示了如何在客户端启用云同步后创建和启动配置文件并登录Nstbrowser站点,然后在Docker容器中启动配置文件后成功同步数据以实现免登录效果。

本文及所有接口均基于Nstbrowser API v2,需要将Nstbrowser客户端更新到v1.15.4及以上版本,Docker镜像版本为132-202503101200.v1及以上版本

延伸阅读

  • 如何使用Nstbrowser的Browserless绕过Cloudfalre Turnstile?
  • 如何通过Browserless绕过Cloudflare 5S挑战?
  • 如何在Ubuntu上使用Nstbrowser构建爬虫服务?
更多
HTTP/2绕过
Browserless
HTTP/2指纹识别是什么以及如何绕过它?
学习如何使用六种强大的方法绕过 Web 抓取中的 HTTP/2 指纹识别,从使用真实浏览器到基于云的 Browserless。躲避现代反机器人防御的检测。
Jun 03, 2025Carlos Rivera
在 Nstbrowser Docker 中加载浏览器扩展
Browserless
如何在 Nstbrowser Docker 中加载浏览器扩展?
学习在 Nstbrowser 中上传扩展的两种方法以及在 Docker 中启动它们的步骤。
Mar 19, 2025Carlos Rivera
在Docker中启动Nstbrowser配置文件
Browserless
如何在Docker中启动Nstbrowser配置文件?
学习如何在 Docker 中启动 Nstbrowser 配置文件,同步跨环境的数据,并使用 API 自动化工作流程。本指南涵盖从设置到执行的全部内容。
Mar 14, 2025Carlos Rivera
如何使用Nstbrowser的无头浏览器自动解决Cloudflare Turnstile (2025)
BrowserlessCloudflare BypassHeadless Browser
如何使用 Nstbrowser 的 Browserless 自动解决 Cloudflare Turnstile (2025)
学习如何使用Nstbrowser的无头浏览器服务和Puppeteer绕过Cloudflare Turnstile。本指南将引导您完成设置、实现以及在确保合规性和效率的同时自动化网页抓取任务的优势。
Mar 07, 2025Robin Brown
如何使用Nstbrowser的无头浏览器绕过Cloudflare 5s挑战(2025)
BrowserlessCloudflare Bypass
如何使用Nstbrowser的无头浏览器绕过Cloudflare 5s挑战(2025)
学习如何使用 Nstbrowser 的无浏览器服务和 Puppeteer 来绕过 Cloudflare 的 5s 挑战。本指南将引导您完成设置、实现以及在确保合规性和效率的同时自动化网页抓取任务的优势。
Mar 06, 2025Robin Brown
AI 驱动浏览器
Browserless
Browserless:最佳AI驱动浏览器,简化您的网络互动
本文探讨了AI代理与Browserless强大集成以简化和增强网页抓取的方式。
Jan 24, 2025Robin Brown
目录