🎁 惊喜折扣:订阅享受 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

返回博客
无头浏览器网页抓取
Browserless

如何在云端使用 Browserless 进行网页抓取?

解锁云浏览器的力量! 探索为什么 Browserless 是您无缝网页抓取的不二之选,并了解如何在云中开始!
Sep 24, 2024Robin Brown

云浏览器是什么?

云浏览器是一种基于云的组合,将 网页浏览器 应用程序与虚拟化的 容器 相结合,实现了远程浏览器隔离的概念。开发者可以使用流行的工具,如 Playwright 和 Puppeteer 来自动化网页浏览器,用于网页抓取和网页测试。

云浏览器在安全容器中执行来自网络的命令,与用户端点分离,并通过远程显示协议访问。因此,浏览器应用程序更加集中、易于管理、更具成本效益、可扩展且受到保护。

为什么用 Browserless 抓取?

Browserless 是一款功能强大的基于云的解决方案,可实现无缝的浏览器自动化、网页抓取和测试。Browserless 的主要目标是简化和扩展网页浏览器自动化任务,例如测试和抓取,这可以通过以下两种方式实现:

  • 在 Docker 或 Kubernetes 上运行多个浏览器实例。
  • 使用现有的 Web Driver 代理服务器,如 Selenium Grid。

👉 了解更多关于 Browserless 的信息

如何在云端使用 Browserless 进行网页抓取?

第一步:准备

在我们开始之前,我们需要一个 Browserless 服务。使用 Browserless 可以解决复杂的网页爬取和大型自动化任务,并且现在已经实现了完全托管的云部署。

Browserless 采用以浏览器为中心的方案,提供强大的无头部署功能,并提供更高的性能和可靠性。有关 Browserless 的更多信息,您可以 获取文档 以了解更多。

  1. 获取 API KEY,并转到 Nstbrowser 客户端的 Browserless 菜单页面,或者您可以 转到 Nstbrowser 客户端 进行访问。
获取 API KEY

您对网页抓取和 Browserless 有什么很棒的想法和疑问吗?
让我们看看其他开发者在 Discord 和 Telegram 上分享了什么!

第二步:确认爬取目标

在我们开始之前,我们需要确保我们要爬取什么。在以下示例中,我们尝试爬取 IMDb Top 250 电影中的电影标题。打开页面后:

  1. 等待页面正常加载并找到 IMDb Top 250 电影下的电影标题。
  2. 打开调试控制台并识别电影标题的 html 元素。
  3. 使用您最喜欢的库获取电影标题。
IMDb Top 250

第三步:开始爬取

一切都准备就绪,开始爬取!我们选择使用 Nstbrowser 提供的功能强大的云 Browserless 来爬取以上内容。下面我们将列出一些常用的库。

Puppeteer

如果您还没有选择库,我们强烈推荐 Puppeteer,因为它非常活跃并且有许多维护者。它也是由 Chrome 开发人员构建的,因此它是质量最高的库之一。

  • 安装 puppeteer-core
Bash Copy
# pnpm
pnpm i puppeteer-core
# yarn
yarn add puppeteer-core
# npm
npm i --save puppeteer-core
  • 代码脚本
JavaScript Copy
import puppeteer from "puppeteer-core";

const token = "您的 api 密钥"; // '您的代理'

const config = {
  proxy: '您的代理', // 必需;输入格式:schema://user:password@host:port 例如:http://user:password@localhost:8080
  // platform: 'windows', // 支持:windows、mac、linux
  // kernel: 'chromium', // 仅支持:chromium
  // kernelMilestone: '128', // 支持:128
  // args: {
  //     "--proxy-bypass-list": "detect.nstbrowser.io"
  // }, // 浏览器参数
  // fingerprint: {
  //     userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.85 Safari/537.36', // userAgent 支持自 v0.15.0 起
  // },
};

const query = new URLSearchParams({
  token: token, // 必需
  config: JSON.stringify(config),
});

const browserWSEndpoint = `https://less.nstbrowser.io/connect?${query.toString()}`;
// 连接 browserless
const browser = await puppeteer.connect({
  browserWSEndpoint,
  defaultViewport: null,
})
console.info('已连接!');

// 创建新页面
const page = await browser.newPage()

// 访问 IMDb top 250 页面
await page.goto('https://www.imdb.com/chart/top/?ref_=nv_mv_250')

// 等待电影列表加载
await page.waitForSelector('.ipc-metadata-list')

// 获取电影标题列表
const moviesList = await page.$$eval('.ipc-metadata-list h3.ipc-title__text', nodes => nodes.map(node => node.textContent));

console.log('[IMDb Top 250 Movies]===>', moviesList);

// 关闭浏览器
await browser.close();

恭喜!我们已经完成了抓取任务。您可以在控制台中看到 250 部电影的结果:

抓取结果

Playwright

它是一个活跃的开源项目,有大量的贡献者。Playwright 由微软开发,支持多种浏览器(Chromium、Firefox 和 WebKit)和多种编程语言(Nodejs、Python、.NET 和 Java),使其成为最通用和高质量的浏览器自动化工具之一。

在 Nodejs 中使用

  • 安装 Playwright
Bash Copy
# pnpm
pnpm create playwright
# yarn
yarn create playwright
# npm
npm init playwright@latest
  • 代码脚本
JavaScript Copy
import { chromium } from 'playwright'

const token = "您的 api 密钥"; // '您的代理'

const config = {
  proxy: '您的代理', // 必需;输入格式:schema://user:password@host:port 例如:http://user:password@localhost:8080
  // platform: 'windows', // 支持:windows、mac、linux
  // kernel: 'chromium', // 仅支持:chromium
  // kernelMilestone: '128', // 支持:128
  // args: {
  //     "--proxy-bypass-list": "detect.nstbrowser.io"
  // }, // 浏览器参数
  // fingerprint: {
  //     userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.85 Safari/537.36', // userAgent 支持自 v0.15.0 起
  // },
};

const query = new URLSearchParams({
  token: token, // 必需
  config: JSON.stringify(config),
});

const browserWSEndpoint = `ws://less.nstbrowser.io/connect?${query.toString()}`;
// 连接 browserless
const browser = await chromium.connectOverCDP(browserWSEndpoint);
console.info('已连接!');

// 创建新页面
const page = await browser.newPage();

// 访问 IMDb 的 top 250 页面
await page.goto('https://www.imdb.com/chart/top/?ref_=nv_mv_250');

// 等待电影列表加载
await page.waitForSelector('.ipc-metadata-list');

// 获取电影标题列表
const moviesList = await page.$$eval('.ipc-metadata-list h3.ipc-title__text', nodes => nodes.map(node => node.textContent));

console.log('[IMDb Top 250 Movies]===>', moviesList);

// 关闭浏览器
await browser.close();

在这里,我们可以在运行项目后找到列表:

抓取结果

在 Python 中使用

  • 安装 Playwright
Bash Copy
pip install pytest-playwright
  • 代码脚本
Python Copy
from playwright.sync_api import sync_playwright
from urllib.parse import urlencode
import json

token = "您的 api 密钥"  # '您的代理'

config = {
    "proxy": "您的代理",  # 必需;输入格式:schema://user:password@host:port 例如:http://user:password@localhost:8080
    # platform: 'windows', // 支持:windows、mac、linux
    # kernel: 'chromium', // 仅支持:chromium
    # kernelMilestone: '128', // 支持:128
    # args: {
    #     "--proxy-bypass-list": "detect.nstbrowser.io"
    # }, // 浏览器参数
    # fingerprint: {
    #     userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.85 Safari/537.36', // userAgent 支持自 v0.15.0 起
    # },
}

query = urlencode({"token": token, "config": json.dumps(config)})

browser_ws_endpoint = f"ws://less.nstbrowser.io/connect?{query}"

def scrape_imdb_top_250():
    with sync_playwright() as p:
        # 连接 browserless
        browser = p.chromium.connect_over_cdp(browser_ws_endpoint)
        print("已连接!")

        # 创建新页面
        page = browser.new_page()

        # 访问 IMDb top 250 页面
        page.goto("https://www.imdb.com/chart/top/?ref_=nv_mv_250")

        # 等待电影列表加载
        page.wait_for_selector(".ipc-metadata-list")

        # 获取电影标题列表
        movies_list = page.eval_on_selector_all(
            ".ipc-metadata-list h3.ipc-title__text",
            "nodes => nodes.map(node => node.textContent)",
        )

        print("[IMDb Top 250 Movies]===>", movies_list)

        # 关闭浏览器
        browser.close()

scrape_imdb_top_250()

当然,以下是抓取结果:

抓取结果

选择您喜欢的语言和库,执行相应的脚本,您就可以看到抓取的结果!

第四步:查看 Browserless 仪表板

您可以在 Nstbrowser 客户端的 Browserless 菜单中查看最近请求的所有统计信息和剩余的会话时间。

查看 Browserless 仪表板

👉 立即下载 Nstbrowser!

使用 Browserless 绕过抓取阻止的 5 个技巧?

无头浏览器与普通浏览器之间存在一些关键差异。反机器人服务通过发现这些差异来检测无头浏览器。

使用 Browserless 绕过抓取阻止涉及以下几种关键策略:

  1. 使用无头浏览器:Browserless 允许您运行无头浏览器,例如 Puppeteer,它可以模拟真实用户的行为,降低检测风险。
  2. 轮换 User Agents:随机化 User Agents 可以帮助避免被阻止,因为您的请求看起来来自不同的浏览器。
  3. 实施代理轮换:利用轮换代理频繁更改 IP 地址,最大程度地减少被目标网站阻止的可能性。
  4. 限制请求:通过在请求之间引入延迟,模拟人类的浏览行为,防止触发安全措施的快速请求。
  5. 管理 Cookie 和会话:正确处理 Cookie 和会话数据,以保持连续性并避免检测,因为持久会话不太可能被标记。

Browserless 和无头浏览器之间有什么区别?

  1. 定义:

Browserless:提供基于云的浏览器自动化的服务或平台,使用户能够运行无头浏览器,而无需管理底层基础设施。

无头浏览器:没有图形用户界面 (GUI) 的网页浏览器,可以在命令行环境中运行,对于自动化网页任务很有用。

  1. 管理:

Browserless:提供托管服务,抽象化了设置和维护浏览器实例的复杂性。用户与 API 交互以启动任务。

无头浏览器:要求用户设置和管理浏览器环境,包括依赖项和配置。

  1. 可扩展性:

Browserless:专为可扩展性而设计,允许用户轻松并行运行多个浏览器实例,利用云资源。

无头浏览器:扩展可能需要更多的手动工作,例如管理多个实例和服务器资源。

  1. 用例:

Browserless:非常适合需要可扩展自动化的开发人员和团队,用于网页抓取、测试和数据提取,而无需担心基础设施问题。

无头浏览器:适合那些喜欢直接控制其自动化任务并乐于管理其自身环境的开发人员。

  1. 集成:

Browserless:通常提供与各种工具和服务的集成,使其更容易整合到现有工作流程中。

无头浏览器:需要自定义集成工作才能与其他工具或服务连接。

总结

如何在云端使用 Browserless 进行网页抓取?我们已经探讨了 4 个详细步骤。只需选择您喜欢的库,然后抓取您需要的数据即可。

此外,我们还了解到:

  • 什么是云浏览器?
  • Browserless 的优势
  • 5 个有效的方法来避免被阻止

开始使用 Browserless 来简化一切!

更多
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
目录