Web Unblocker 与 Scraping Browser:如何选择正确的工具

通过这篇深入的功能和用例比较,了解 web unlocker 还是 scraping browser 是您网页抓取项目的最佳工具。
3 分钟阅读
Web Unlocker 与 Scraping Browser 对比

在这篇 web unblocker 与 scraping browser 的博文中,您将看到:

  • web解锁工具和 scraping browser 工具的介绍。
  • web unblocker 是什么、如何工作、主要用例、功能和可能的集成。
  • scraping browser 是什么、如何运作、核心用例、功能和集成选项。
  • 最终的综合比较,帮助您了解哪个工具最适合您的需求。

让我们开始吧!

Web Unblocker 和 Scraping Browser 工具简介

Web unblocker 和 scraping browser 是构建网页抓取机器人时最常用的两种工具。

这两种解决方案都能”解锁”目标网页。这意味着无论网站部署了什么反抓取系统,如速率限制器、验证码、浏览器指纹识别、TLS指纹识别和其他高级检测技术,它们都能让您访问网页内容。

Web unblocker 非常适合那些所需数据已经存在于返回的HTML或API响应中且无需交互的目标。另一方面,scraping browser 更适合严重依赖 JavaScript、复杂导航或交互流程(例如点击按钮、滚动等)的动态网站。Scraping browser 还允许自动化脚本或AI代理与网页交互,而不用担心被封锁。

请记住,Bright Data——市场上领先的网页抓取工具提供商——提供这两种类型的解决方案:

  • Unlocker API:一个旨在访问任何网站同时绕过高级机器人保护的抓取API。它返回干净的HTML、JSON、Markdown,甚至截图。这是Bright Data的专用web unblocker解决方案。
  • Browser API:一个专为网页抓取和自动化场景构建的基于云的、支持GUI的浏览器。它与Playwright、Puppeteer、Selenium和其他浏览器自动化工具集成。这是Bright Data的scraping browser解决方案。

现在您已经了解了基础知识,准备深入这篇web unblocker与scraping browser的比较指南。读完后,您将了解它们如何工作、主要用例、涉及哪些权衡,以及如何为您的特定项目需求选择正确的解决方案!

Web Unblocker:深入分析

让我们从 web unblocker 开始这篇 web unblocker 与 scraping browser 的文章,了解它们能带来什么。

它是什么

Web unblocker——也通常被称为”web unlocker API”或”unlocker API”——是一个一体化的抓取解决方案,可以”解锁”难以抓取的网站。基本上,它处理所有主要的网页抓取挑战,包括IP轮换、绕过WAF(Web应用防火墙)、在需要时渲染 JavaScript、避免被封锁、防止TLS指纹识别问题等。

如何工作

从技术角度来看,web unblocker通常提供两种主要集成模式:

  1. 基于API的模式:您发送一个API请求,在请求体中包含要抓取的目标URL。
  2. 基于代理的模式:您通过这个特殊的代理端点路由HTTP抓取请求。

两种模式都能实现相同的结果,可靠地检索被封锁或受保护的网页。选择取决于您使用的抓取技术栈

当您手动发送HTTP请求时,API模式非常适合:

import requests

BRIGHT_DATA_API_KEY = "<YOUR_BRIGHT_DATA_API_KEY>" # Replace with your Bright Data API key

headers = {
    "Authorization": f"Bearer {BRIGHT_DATA_API_KEY}",
    "Content-Type": "application/json"
}
data = {
    "zone": "web_unlocker", # Unlocker API zone name
    "url": "https://geo.brdtest.com/welcome.txt", # Target URL
    "format": "raw" # To get the unblocked page directly in the response body
}

# Make a request to Bright Data's Web Unlocker API
url = "https://api.brightdata.com/request"

response = requests.post(url, json=data, headers=headers)
print(response.text)

更多参考,请查看如何在 PythonNode.js 中使用Bright Data的web unblocker服务。

相反,当使用像 Scrapy 这样的抓取框架时,代理模式效果最好,因为它们会为您处理HTTP请求:

import scrapy

class BrightDataExampleSpider(scrapy.Spider):
    name = "BrightDataExample"
    start_urls = ["http://httpbin.org/ip"]

    def start_requests(self):
        proxy = "http://[USERNAME]:[PASSWORD]@[HOST]:[PORT]"  # Replace with your Bright Data Web Unlocker API proxy URL

        # Use the proxy for all requests
        for url in self.start_urls:
            yield scrapy.Request(url, meta={"proxy": proxy})

    def parse(self, response):
        yield {
            "proxy_ip": response.text
        }

更多指导,请查看如何在 Scrapy 中使用 Bright Data

无论集成模式如何,web unblocker都会执行加载目标网站所需的一切,而不会被封锁。在幕后,它会:

  • 从跨国家或地区的大型代理池中轮换IP(以避免速率限制器、IP封禁,并克服地理限制)。
  • 生成真实的请求头和cookie以模拟真实的浏览器行为。
  • 绕过WAF和机器人检测系统。
  • 解决或避免验证码
  • 处理JavaScript挑战。
  • 必要时使用基于浏览器的渲染。

所有这些都是自动发生的,但您仍然可以自定义行为(例如,自定义请求头、地理位置、会话持久性、渲染模式等)。

用例

Web unblocker背后的核心理念是外包反封锁策略。反机器人规避是网页抓取中最棘手的部分之一,大多数团队根本没有时间、专业知识或持续的资源来跟上它(请记住:机器人保护系统不断演变)。

因此,许多开发人员和公司更喜欢依赖始终保持最新的web unblocker来为他们处理封锁问题。这对于大量抓取任务尤其如此。

根据经验,web unblocker非常适合针对受反机器人或反抓取保护的网站,这些网站不需要浏览器交互。换句话说,您感兴趣的内容应该已经存在于服务返回的HTML中(直接存在或在基本浏览器渲染后存在)。不需要额外的点击、滚动或类似操作。

Web unblocker特别有用的常见场景包括:

主要功能

分析web unblocker服务提供的功能的最佳方式是关注一个真实的产品。因此,本节将介绍 Bright Data 的 Web Unlocker API 功能

  • 按成功付费:仅对成功的请求收费。
  • 验证码解决:处理验证码,可选择禁用此功能以进行轻量级抓取。
  • 抓取为Markdown:将HTML页面转换为Markdown,以便更容易处理或LLM摄取
  • 返回截图:捕获页面的PNG截图,用于调试或监控外观。
  • 地理位置定位:通过特定国家或地区路由请求,以访问受地理限制或特定位置的数据。
  • 高级域名:用于访问具有挑战性的网站(例如bestbuy.com、footlocker.com等)的特殊模式,需要额外资源。
  • 移动User-Agent定位:从桌面切换到移动User-Agent请求头值以模拟移动浏览。
  • 手动”expect”元素:在返回内容之前等待特定元素或文本出现在渲染的页面上。
  • 自定义选项:覆盖自动请求头、cookie和参数,以实现定制的请求处理。
  • 亚马逊特定地理位置请求头:设置城市和邮政编码以访问特定地区的亚马逊页面。
  • 调试请求:获取详细的请求信息,用于故障排除和性能洞察。
  • 成功率统计:在控制面板中跟踪七天内每个域名或顶级域名的成功率和CPM。
  • Web MCP集成:让您的LLM通过免费层scrape_as_markdown工具或高级scraper_as_html工具调用Web Unlocker API。

官方 Unlocker API 文档中了解更多。

支持的集成

Web unblocker可以集成到:

  • 通过API模式或代理模式的HTTP客户端,包括Requests、AIOHTTP、HTTPX、Axios、fetchnode-fetch等。
  • 支持基于代理的请求路由的网页抓取框架,如Scrapy、Scrapling、Crawlee和类似工具。
  • AI工作流和代理框架,如LangChain、LlamaIndex、CrewAI等,让LLM能够直接从任何网页获取数据。

Scraping Browser:综合评测

继续这篇web unblocker与scraping browser的博文,探索scraping browser解决方案,涵盖您需要了解的一切。

它是什么

Scraping browser——也称为”浏览器即服务(BaaS)”或”browser API”——提供在云中运行的真实浏览器实例,您可以连接到这些实例以实现不间断的自动化。

这些浏览器会话配备了专为网页抓取和大规模自动化场景构建的隐身和反检测工具包。因此,通过这些云浏览器实例执行的每个交互都显得”像人类”。正因为如此,目标网站很难将这些远程浏览器会话识别为自动化的。

如何工作

Scraping browser是一种托管服务,提供真实的浏览器实例,如Chrome或Firefox实例。这些云浏览器的行为像普通浏览器。它们加载JavaScript,渲染HTML和CSS,并维护cookie和会话。

这个想法很简单。您不是在本地运行浏览器,而是通过CDP或WSS将Playwright、Puppeteer或任何其他浏览器自动化脚本连接到远程实例:

cdp_endpoint_url = f"wss://{AUTH}@brd.superproxy.io:9222" # Replace with your Bright DAta Browser API URL
browser = await playwright.chromium.connect_over_cdp(cdp_endpoint_url)
page = await browser.new_page()
# Browser automation logic...

这样做有两个主要原因:

  1. 浏览器消耗大量资源,并且难以大规模管理。
  2. 默认的浏览器实例很容易被反机器人系统检测和封锁。

Scraping browser解决了这两个问题。它自动管理可扩展的、基于云的浏览器实例,并内置反机器人功能。

此外,为了节省资源,自动化脚本中的浏览器通常配置为无头模式(没有GUI)。问题是无头模式更容易被检测到,因为自动化工具会应用特殊的标志和设置来激活它。

Scraping browser避免了这个问题,因为它们可以在有头模式下运行浏览器,就像真实用户一样。它们还设置自定义配置和真实的导航cookie。这使得它们的会话与人类用户的会话几乎相同,进一步降低了被封锁的机会。更多信息,请阅读我们关于scraping browser与无头浏览器的指南。

将此机制视为在云中”租用”一个真实浏览器。您通过CDP发送命令,它导航页面、执行JavaScript并模拟用户操作。您唯一的任务是使用浏览器自动化API编写逻辑,用于从渲染的HTML中提取数据、捕获截图、导出PDF等。

用例

Scraping browser的主要目的是委托浏览器实例管理。毕竟,大规模运行真实浏览器是资源密集型的且具有挑战性。难怪大多数团队缺乏时间、专业知识或基础设施来高效有效地处理该任务。

针对抓取优化的”浏览器即服务”解决方案为您处理整个基础设施。它们让您访问现成的、云托管的浏览器,配备内置的反机器人措施。

通过scraping browser进行浏览器自动化对于需要完全交互的任务至关重要,例如实现无限滚动、延迟加载(例如”加载更多”按钮)或动态过滤的网站。一般来说,当您需要真正的浏览器交互时——任何超越检索简单静态HTML的操作——scraping browser都是正确的选择。

这意味着browser API服务也可以与AI代理配对以支持自主工作流。通过处理封锁和验证码等挑战(这些是AI 代理浏览器失败的主要原因),云scraping browser使LLM能够像人类用户一样与网页交互。

当集成到代理构建框架中时,scraping browser可以让AI执行复杂的、类人任务,例如在亚马逊上下单或填充购物车。因此,一些scraping browser被称为”代理浏览器“。

鉴于此,scraping browser在以下情况下非常有用:

  • 抓取需要 JavaScript 渲染或交互内容的动态网站
  • 与AI代理集成以自动化重复的浏览任务。
  • 像真实用户一样测试和监控网站,保留cookie、会话和浏览器状态。
  • ……或任何填写表单、点击元素或执行其他用户交互至关重要的自动化脚本。

主要功能

就像我们之前分析web unblocker功能时所做的那样,关注一个真实的产品更容易也更有趣。因此,我们将列出Bright Data的Browser API功能

  • 验证码解决器:自动处理出现的验证码,或选择跳过解决以手动处理验证码。
  • 地理位置定位:配置浏览器实例通过代理在特定国家或精确地理坐标路由请求,具有纬度、经度和距离半径选项。
  • Browser API 游乐场:在具有实时日志、HTML检查和浏览器可视化的交互式在线代码编辑器中测试和运行 Browser API 脚本。
  • 高级域名支持:访问被分类为高级的具有挑战性的网站(例如wizzair.com、skyscanner.net等),需要额外资源才能成功抓取。
  • Browser API调试器:将实时浏览器会话连接到 Chrome 开发工具以检查元素、分析网络请求、调试JavaScript并监控性能以获得更好的控制。
  • Web MCP集成:通过专用的AI可集成高级工具使用Browser API,如scraping_browser_snapshotscraping_browser_click_refscraping_browser_screenshotscraping_browser_get_textscraping_browser_scroll

官方 Browser API 文档中了解更多。

支持的集成

Scraping browser可以集成到:

  • 浏览器自动化框架,如Playwright、Puppeteer、Selenium、Cypress和类似工具。
  • 用于网页抓取器构建和部署的云平台,如Apify
  • 任何支持通过CDP或WSS连接到远程浏览器的浏览器自动化工具(例如Browser UsePlaywright MCP等)。

Web Unblocker与Scraping Browser:最终比较

现在您已经了解了这两种技术,是时候在专门的web unblocker与scraping browser部分进行比较了。

正面对比评论

Web unblocker非常适合针对受抓取或机器人保护的网站,其中感兴趣的数据可以在不执行用户交互的情况下访问。当通过代理模式集成到网页抓取框架中或通过API通过HTTP客户端直接调用时,它们效果最好。同时,它们不适合与浏览器、浏览器自动化工具或如AdsPower和MuLogin等反检测浏览器一起使用。

相反,scraping browser是为需要在网页上进行自定义用户交互的自动化场景而构建的。它们为您提供必须通过浏览器自动化API(如Playwright、Puppeteer或Selenium)控制的实际浏览器实例,或直接通过CDP函数控制。这意味着您不能在HTTP客户端中调用它们,并且并非所有抓取框架都可以与它们集成。

简而言之,web unblocker就像一个智能API/代理,返回解锁的HTML(直接或在JavaScript渲染后)。相反,scraping browser在远程服务器上的真实浏览器环境中运行页面,并让您通过浏览器自动化库完全控制它。

如何为您的需求选择正确的工具:最终比较

Web unblocker最适合从不需要用户交互的受保护网站中提取HTML。Scraping browser提供完整的云浏览器,用于需要点击、滚动或完全AI驱动的自动化任务。

快速比较,请参见下表:

  Web Unblocker Scraping Browser
也称为 Web unlocker、Web unlocker API、Unlocker API 浏览器即服务、Browser API、代理浏览器
反封锁绕过 ✔️(为您管理) ✔️(为您管理)
可扩展性 使用Bright Data的Web Unlocker API时无限制 使用Bright Data的Browser API时无限制
HTML访问 ✔️(直接/渲染HTML) ✔️(完全渲染的HTML)
模式 API或代理 CDP或WSS
输出 原始HTML、自动解析的JSON、Markdown、PNG截图 渲染的HTML页面
JavaScript渲染 支持 始终
用户交互 ❌(不支持) ✔️(通过浏览器自动化API或直接CDP命令)
AI代理集成 ✔️(通过网页抓取工具) ✔️(通过浏览器自动化工具模拟类人交互)
技术栈 HTTP客户端如Requests、Axios,一体化抓取工具如Scrapy 浏览器自动化工具如Playwright、Puppeteer、Selenium,以及AI自动化解决方案如Browser Use
定价 通常基于请求(仅对成功的请求付费) 通常基于带宽(根据远程浏览器处理的流量收费)

Web Unblocker

👍 优点

  • 易于集成。
  • 代理模式可简单添加到现有的抓取脚本中(您只需在HTTP客户端中指定web unblocker代理URL)。
  • 高速度和高并发,支持无限同时请求。
  • 对于大量需求具有成本效益(按成功请求付费)。
  • 非常适合为AI代理构建抓取工具。
  • 无需担心任何类型的封锁。
  • 无需维护。

👎 缺点

  • 不支持浏览器自动化。
  • 不适合与浏览器自动化解决方案、代理浏览器或反检测浏览器一起使用。

Scraping Browser

👍 优点

  • 可简单集成到任何支持通过CDP或WSS URL连接远程浏览器实例的解决方案。
  • 在真实的浏览器会话中模拟用户交互,以获得更高的成功率。
  • 支持交互式工作流,包括AI代理中的工作流。
  • 维护持久的会话和浏览器状态。
  • 为您处理浏览器实例管理。
  • 无需担心任何类型的封锁。
  • 无需维护。

👎 缺点

  • 对于资源密集型页面成本较高(尽管可以禁用图像、样式和其他资源)。
  • 可能比本地浏览器慢。

结论

在本指南中,您了解了什么是web unlocker和scraping browser以及它们解决的用例。

特别是,您看到 web unlocker 帮助您外包所有反机器人绕过。相比之下,当您需要在无封锁的浏览器环境中与网页交互时,scraping browser是完美的选择。

请记住,Bright Data为您提供顶级的 Unlocker API 和强大的 Browser API 服务。两者都具有广泛的功能(如本文所强调的),并支持广泛的AI集成,包括通过MCP

这些只是 Bright Data 网页抓取和AI套件中众多可用产品和服务中的两个。

立即免费创建Bright Data账户,开始使用我们的网页抓取解决方案!

支持支付宝等多种支付方式

Antonello Zanini

技术写作

5.5 years experience

Antonello是一名软件工程师,但他更喜欢称自己为技术传教士。通过写作传播知识是他的使命。

Expertise
Web 开发 网页抓取 AI 集成