提升您的无界面浏览器抓取工具
在完全托管的浏览器上运行 Puppeteer、Selenium 和 Playwright 脚本,这些浏览器配备了验证码自动解算器和 72,000,000 个住宅 IP,可无限扩展
抓取浏览器的优势
削减基础架构管理费用
通过单一 API 设置并自动扩展浏览器环境,打开无限多个并发会话,处理无限工作负载,以便持续抓取
提高成功率
停止构建解锁补丁,通过内置解锁器和超庞大的住宅 IP 池访问任何公共网页数据,不会过时
提高开发者的工作效率
只需一行代码即可在混合云中运行现有脚本,让开发者“高度专注于”重要任务,省去抓取操作的麻烦
利用自动解锁
浏览器指纹识别
模拟真实用户的浏览器行为,使其看起来像是由真人在操作
验证码破解
分析并破解验证码和质询-响应测试
管理特定用户代理
自动模拟各类浏览器和设备
设置推荐来源标头
模拟来自热门或可信网站的流量
处理 Cookie
防止 Cookie 相关因素造成的潜在封锁
自动重试和 IP 轮换
在后台持续重试请求并轮换 IP
全球地理覆盖
访问任意国家/地区、城市、州或 ASN 的本地化内容
JavaScript 渲染
从依赖动态元素的网站中提取数据
数据完整性验证
确保数据的准确性、一致性和可靠性
超庞大的真实 IP 池
借助来自 195 个国家/地区的 7200 多万个合法获取的住宅 IP,通过用于高级配置和管理的 API,以真实用户身份访问网页
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 Scraping Browser...');
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 Scraping Browser...')
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 Scraping Browser...');
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 Scraping Browser...');
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 Scraping Browser...')
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()
开发者优先的动态抓取
- 运行 Puppeteer、Selenium 或 Playwright 脚本
- 通过 API 自定义住宅代理工作流程
- 使用 Chrome DevTools 监控并排除故障
- 无需维护解锁工作
兼容 Chrome DevTools
使用 Chrome DevTools 调试程序无缝监控抓取浏览器的性能并排除故障
抓取浏览器定价
通过 AWS Marketplace 付款
利用 AWS Marketplace 简化付款,提高采购和开票效率。使用现有的 AWS 承诺,利用 AWS 促销活动节省开支
全天候支持
获取全天候专家支持,快速解决问题,确保高质量的数据交付。实时完全透明地了解网络状态
常见问题
什么是抓取浏览器
抓取浏览器的工作原理类似于其他自动浏览器,由 Puppeteer 和 Playwright 等常见的高级 API 控制,但却是唯一一款内置网站解锁功能的浏览器。抓取浏览器会自动管理内部所有网站解锁操作,包括:验证码解算、浏览器指纹识别、自动重试、标头选择、Cookie 和 Javascript 渲染等等,为您节省时间和资源。
我什么时候需要使用浏览器来抓取?
抓取数据时,开发者会在需要 JavaScript 页面渲染或与网站交互(悬停、更改页面、点击、屏幕截图等)时使用自动浏览器。此外,当在大规模数据抓取项目中需要同时抓取多个页面时,也需要使用浏览器。
抓取浏览器是无界面浏览器还是全界面浏览器?
抓取浏览器是一种使用图形用户界面的 GUI 浏览器(又名“全界面”浏览器)。但是,开发者使用抓取浏览器的体验类似于无界面浏览器,因为他们通过 Puppeteer 或 Playwright 等 API 与浏览器交互。不过,抓取浏览器在 Bright Data 的基础架构上是以 GUI 浏览器的形式打开。
用于抓取的全界面浏览器与无界面浏览器有何区别?
在选择自动浏览器时,开发者可以选择无界面浏览器或 GUI/全界面浏览器。“无界面浏览器”一词指的是没有图形用户界面的网页浏览器。与代理一起使用时,无界面浏览器可用于抓取数据,但是机器人保护软件很容易检测到此类浏览器,导致大规模数据抓取难度加大。GUI 浏览器,例如抓取浏览器(又名“全界面”浏览器),使用图形用户界面。机器人检测软件不太可能检测 GUI 浏览器。
为什么抓取浏览器比无界面 Chrome 或 Selenium 网页抓取 Python 更好?
抓取浏览器内置网站解锁功能,可自动为您解除屏蔽。抓取浏览器采用自动解锁功能,可在 Bright Data 的服务器上打开,因此非常适用于扩展网页数据抓取项目,无需使用大规模的基础架构。
抓取浏览器是否兼容 Puppeteer 抓取?
是的,抓取浏览器与 Puppeteer 完全兼容。
Playwright 抓取与抓取浏览器兼容吗?
是的,抓取浏览器与 Playwright 完全兼容。
我什么时候应该选择抓取浏览器而非其他 Bright Data 代理产品?
抓取浏览器是一款针对数据抓取加以优化的自动浏览器,具备网页解锁器的自动解锁功能。虽然网页解锁器可处理单步请求,但当开发者需要与网站交互以检索数据时,就需要使用抓取浏览器。抓取浏览器也非常适合需要浏览器、扩展和自动管理所有网站解锁操作的任何数据抓取项目。