爬虫浏览器 - 浏览器 API
简化您的动态抓取操作。在完全托管的浏览器上运行并扩展您的 Puppeteer、Selenium 和 Playwright 脚本,内置验证码解决和自动化代理管理。
- 自动扩展基础设施
- 通过 Chrome DevTools 进行实时监控
- 全球地理位置和 ASN 定位
- 从大量使用 JavaScript 的网站中提取数据
全球 超20000 位客户信赖
基于云的动态抓取
浏览器 API 专为基于浏览器的数据收集工作流而设计,适用于需要完整页面渲染、类用户交互和高级解锁能力的场景。
轻松集成
只需更改单个端点,即可通过 Puppeteer、Selenium 或 Playwright 连接。
内置调试
使用 Chrome DevTools 实时排查并监控您的抓取会话。
全托管浏览器
云托管浏览器,内置代理轮换,并针对大规模抓取优化。
const pw = require('playwright');
const SBR_CDP = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222';
async function main() {
console.log('Connecting to Browser API...');
const browser = await pw.chromium.connectOverCDP(SBR_CDP);
try {
const page = await browser.newPage();
console.log('Connected! Navigating to https://example.com...');
await page.goto('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await page.content();
console.log(html);
} finally {
await browser.close();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
import asyncio
from playwright.async_api import async_playwright
SBR_WS_CDP = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222'
async def run(pw):
print('Connecting to Browser API...')
browser = await pw.chromium.connect_over_cdp(SBR_WS_CDP)
try:
page = await browser.new_page()
print('Connected! Navigating to https://example.com...')
await page.goto('https://example.com')
print('Navigated! Scraping page content...')
html = await page.content()
print(html)
finally:
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
if __name__ == '__main__':
asyncio.run(main())
const puppeteer = require('puppeteer-core');
const SBR_WS_ENDPOINT = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222';
async function main() {
console.log('Connecting to Browser API...');
const browser = await puppeteer.connect({
browserWSEndpoint: SBR_WS_ENDPOINT,
});
try {
const page = await browser.newPage();
console.log('Connected! Navigating to https://example.com...');
await page.goto('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await page.content();
console.log(html)
} finally {
await browser.close();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
const { Builder, Browser } = require('selenium-webdriver');
const SBR_WEBDRIVER = 'https://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9515';
async function main() {
console.log('Connecting to Browser API...');
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(SBR_WEBDRIVER)
.build();
try {
console.log('Connected! Navigating to https://example.com...');
await driver.get('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await driver.getPageSource();
console.log(html);
} finally {
driver.quit();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
from selenium.webdriver import Remote, ChromeOptions
from selenium.webdriver.chromium.remote_connection import ChromiumRemoteConnection
SBR_WEBDRIVER = 'https://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9515'
def main():
print('Connecting to Browser API...')
sbr_connection = ChromiumRemoteConnection(SBR_WEBDRIVER, 'goog', 'chrome')
with Remote(sbr_connection, options=ChromeOptions()) as driver:
print('Connected! Navigating to https://example.com...')
driver.get('https://example.com')
print('Navigated! Scraping page content...')
html = driver.page_source
print(html)
if __name__ == '__main__':
main()
启用自主解锁能力
浏览器指纹识别
模拟真实用户的浏览器,打造类人的使用体验
验证码求解
分析并求解验证码及挑战-响应测试
管理特定 User Agent
自动模拟不同类型的浏览器与设备
设置引用来源 Headers
模拟来自热门或可信网站的访问流量
处理 Cookies
避免由 Cookie 相关因素导致的潜在封锁
自动重试与 IP 轮换
在后台持续重试请求,并轮换 IP
全球地理覆盖
访问任意国家、城市、州/省或 ASN 的本地化内容
JavaScript 渲染
从依赖动态元素的网站中提取数据
数据完整性校验
确保数据的准确性、一致性与可靠性
顶级远程浏览器
正确结果总耗时(平均)表示已完成单个任务的平均端到端时长。
Bright Data 的浏览器 API 排名第一
在 AIMultiple 的独立基准测试中,Bright Data 的浏览器 API 在 8 家领先的远程浏览器提供商中排名第一,在 160 个真实世界自动化任务中获得 97% 的综合评分、95% 的成功率,以及满分 100% 的速度评分。
浏览器 API 定价
浏览器 API
网络解锁器
浏览器 API 自定义 CDP 功能
手动验证码控制
开启或关闭自动解决,并为 ReCaptcha、HCaptcha 和 CF Challenge 类型配置自定义算法。
设备模拟
模拟数百种真实移动和桌面设备,并使用准确的屏幕、用户代理和像素比例设置。
广告拦截器
在导航前从目标页面移除广告,以降低带宽成本并加快重型网站上的抓取速度。
会话持久性
在多个请求中复用同一个代理 peer,以在会话之间保持一致的 IP 和浏览器状态。
会话 ID 检索
提取任何活动会话的唯一 ID,以便按需查找日志、调试错误并审计带宽使用情况。
文件下载
在自动化流程中直接捕获 CSV、PDF 和其他二进制文件,无需离开浏览器会话。
更快文本输入
以高速向聚焦元素发送快速按键,适用于批量表单填写和大规模文本输入任务。
自定义 SSL/TLS 证书
安装用于域名认证的客户端证书,这些证书会按会话加载,并在会话结束时自动清除。
验证码自动解决
在您的会话中自动检测并解决 CAPTCHA,内置状态跟踪和表单提交。
浏览器 API 的优势
降低基础设施开销
通过单个 API 设置并自动扩展浏览器环境,为持续抓取提供无限并发会话和工作负载
提高成功率
停止构建解锁补丁,通过内置解锁器和超大规模住宅 IP 池,让任何公共网页数据访问更具未来适应性
提升开发者生产力
只需一行代码即可在混合云中运行现有脚本,让开发人员“专注于关键事项”,摆脱抓取操作的繁琐工作
由屡获殊荣的代理网络提供支持
超40000万 monthly 个代理 IP、业内领先技术,以及定向到任意国家/地区、城市、邮编、运营商和 ASN 的能力,使我们的优质 代理服务 成为开发者的首选。

自动扩展浏览器基础设施
只需一行代码,即可将你的交互式、多步骤抓取脚本连接到混合浏览器环境,并获得无限并发会话

兼容 Chrome DevTools
使用 Chrome DevTools debugger 无缝监控并排查你的浏览器 API 性能问题

7*24 小时支持
获得全天候专家支持,快速解决问题,并保障高质量数据交付。实时查看网络状态,实现完全透明
常见问题
什么是浏览器 API?
浏览器 API 是一种抓取浏览器,像其他自动化浏览器一样工作,并由 Puppeteer 和 Playwright 等常见高级 API 控制,但它是唯一内置网站解锁能力的浏览器。浏览器 API 会在幕后自动管理所有网站解锁操作,包括:CAPTCHA 解决、浏览器指纹、自动重试、选择 headers、cookies 和 JavaScript 渲染等,帮助你节省时间和资源。
什么时候需要使用浏览器进行爬虫?
进行数据抓取时,当页面需要 JavaScript 渲染,或需要与网站交互(悬停、换页、点击、截图等)时,开发者会使用自动化浏览器。此外,在同时定位多个页面的大规模数据抓取项目中,浏览器也非常有用。
浏览器 API 是 headless browser 还是 headfull browser?
浏览器 API 浏览器是 headless 的,并运行在 Bright Data 的基础设施上。你可以使用 Puppeteer、Playwright 或 Selenium 等自动化库,并且每个会话都内置解锁、指纹和代理管理能力,因此网站会将其视为真实用户浏览器。若要查看会话内部发生的情况,你可以使用 Chrome DevTools debugger 打开任意浏览器的实时视图。
爬虫时 headfull 和 headless browsers 有什么区别?
在选择自动化浏览器时,开发者可以选择 headless 或 GUI/headful 浏览器。“headless browser”指没有图形用户界面的 Web 浏览器。与代理配合使用时,headless browsers 可用于抓取数据,但很容易被机器人防护软件检测到,使大规模数据爬虫变得困难。GUI 浏览器,如浏览器 API(也称为“headfull”),使用图形用户界面。机器人检测软件较不容易检测到 GUI 浏览器。
为什么浏览器 API 优于 Headless Chrome 或 Selenium web scraping Python?
浏览器 API 内置网站解锁功能,可为你自动处理封锁。浏览器 API 使用自动化解锁,并在 Bright Data 服务器上打开,因此非常适合扩展网页数据爬虫项目,而无需大量基础设施。
浏览器 API 是否兼容 Puppeteer 抓取?
是的,浏览器 API 完全兼容 Puppeteer。
Playwright 爬虫是否兼容浏览器 API?
是的,浏览器 API 完全兼容 Playwright。
什么时候应该使用浏览器 API,而不是其他 Bright Data 代理产品?
浏览器 API 是专为数据抓取优化的自动化浏览器,集成了网络解锁器的自动解锁能力。虽然网络解锁器适用于一步式请求,但当开发者需要与网站交互以获取数据时,就需要使用浏览器 API。对于任何需要浏览器、扩展能力,以及自动管理所有网站解锁操作的数据爬虫项目,它也非常理想。