Bright Data Scraper Studio 在两种 worker 类型上运行爬虫:Browser worker(真实的无头浏览器)或 Code worker(原始 HTTP 请求)。请根据目标站点所需的最低交互级别进行选择 — Code worker 更快、更便宜,建议先从它开始,仅在 Code worker 无法获取数据时再切换。Documentation Index
Fetch the complete documentation index at: https://docs.brightdata.com/llms.txt
Use this file to discover all available pages before exploring further.
Browser worker 与 Code worker
| Browser worker | Code worker | |
|---|---|---|
| 执行模型 | 无头浏览器会话 | 直接发送 HTTP 请求(类似 curl 或 requests.get) |
| 运行 JavaScript | 是 | 否 |
| 点击、滚动、表单输入 | 是 | 否 |
| 最适合 | 动态页面、SPA、登录流程、无限滚动、GraphQL 捕获 | 静态 HTML、站点地图爬取、公开 JSON API |
| 速度 | 较慢(浏览器启动、完整页面加载) | 较快(单次 HTTP 往返) |
| 每次页面加载成本 | 较高 | 较低 |
何时使用 Browser worker?
当以下任意一项成立时,使用 Browser worker:- 目标数据由 JavaScript 在客户端渲染,原始 HTML 响应中不存在
- 需要通过点击、滚动、悬停或输入才能访问或显示数据
- 在内容渲染前需要处理 cookie 横幅或关闭弹窗
- 需要使用
tag_response、tag_script或capture_graphql捕获网络流量 - 需要登录、保持会话或与表单交互
何时使用 Code worker?
当以下条件全部满足时,使用 Code worker:- 完整的目标数据存在于原始 HTML 响应或公开 JSON 端点中
- 无需执行 JavaScript 即可渲染数据
- 无需点击、滚动或输入等交互
- 您正在爬取站点地图、RSS 源或 API 端点
哪些函数仅 Browser worker 可用?
依赖实时浏览器会话的 Bright Data Scraper Studio 函数,从 Code worker 中调用时会抛出错误。如果您的爬虫需要以下任何函数,请选择 Browser worker:| 类别 | 函数 |
|---|---|
| 等待 DOM | wait、wait_any、wait_for_text、wait_hidden、wait_visible、wait_network_idle、wait_page_idle |
| 滚动 | scroll_to、scroll_to_all、load_more |
| 流量标记 | tag_response、tag_all_responses、tag_script、tag_image、tag_video、tag_screenshot、tag_download、tag_window_field、tag_serp、capture_graphql |
| 键盘与鼠标输入 | click、right_click、hover、mouse_to、press_key、type |
| 浏览器配置 | browser_size、emulate_device、freeze_page |
| 反机器人 | solve_captcha、close_popup |
常见问题
构建爬虫后还能切换 worker 类型吗?
构建爬虫后还能切换 worker 类型吗?
可以。在 Bright Data Scraper Studio IDE 中打开爬虫,在 Settings(设置)面板中更改 worker 类型。如果您从 Browser worker 切换到 Code worker,请删除上述所有仅限浏览器的函数调用,否则爬虫在下次运行时会抛出错误。
Code worker 真的比 Browser worker 更快吗?
Code worker 真的比 Browser worker 更快吗?
是的。Code worker 仅发送一次 HTTP 请求,无需浏览器启动也无需页面渲染,因此整次往返耗时仅为 Browser worker 运行的极小一部分。具体加速比取决于目标站点,但 Code worker 任务通常在数秒内完成。
Browser worker 支持捕获后台 API 调用吗?
Browser worker 支持捕获后台 API 调用吗?
支持。使用
tag_response 或 tag_all_responses 捕获页面发起的任意 XHR 或 fetch;使用 capture_graphql 捕获并重放 GraphQL 查询。完整参考请参见 Scraper Studio 函数参考。相关内容
Scraper Studio 函数参考
交互命令与解析器命令的完整参考
最佳实践
构建高效爬虫的推荐模式