跳转到主要内容

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.

Bright Data Scraper Studio 在两种 worker 类型上运行爬虫:Browser worker(真实的无头浏览器)或 Code worker(原始 HTTP 请求)。请根据目标站点所需的最低交互级别进行选择 — Code worker 更快、更便宜,建议先从它开始,仅在 Code worker 无法获取数据时再切换。

Browser worker 与 Code worker

Browser workerCode worker
执行模型无头浏览器会话直接发送 HTTP 请求(类似 curlrequests.get
运行 JavaScript
点击、滚动、表单输入
最适合动态页面、SPA、登录流程、无限滚动、GraphQL 捕获静态 HTML、站点地图爬取、公开 JSON API
速度较慢(浏览器启动、完整页面加载)较快(单次 HTTP 往返)
每次页面加载成本较高较低

何时使用 Browser worker?

当以下任意一项成立时,使用 Browser worker:
  • 目标数据由 JavaScript 在客户端渲染,原始 HTML 响应中不存在
  • 需要通过点击、滚动、悬停或输入才能访问或显示数据
  • 在内容渲染前需要处理 cookie 横幅或关闭弹窗
  • 需要使用 tag_responsetag_scriptcapture_graphql 捕获网络流量
  • 需要登录、保持会话或与表单交互

何时使用 Code worker?

当以下条件全部满足时,使用 Code worker:
  • 完整的目标数据存在于原始 HTML 响应或公开 JSON 端点中
  • 无需执行 JavaScript 即可渲染数据
  • 无需点击、滚动或输入等交互
  • 您正在爬取站点地图、RSS 源或 API 端点
先从 Code worker 开始。如果原始响应中没有您需要的数据,再切换为 Browser worker。可随时在同一爬虫上更换 worker 类型。

哪些函数仅 Browser worker 可用?

依赖实时浏览器会话的 Bright Data Scraper Studio 函数,从 Code worker 中调用时会抛出错误。如果您的爬虫需要以下任何函数,请选择 Browser worker:
类别函数
等待 DOMwaitwait_anywait_for_textwait_hiddenwait_visiblewait_network_idlewait_page_idle
滚动scroll_toscroll_to_allload_more
流量标记tag_responsetag_all_responsestag_scripttag_imagetag_videotag_screenshottag_downloadtag_window_fieldtag_serpcapture_graphql
键盘与鼠标输入clickright_clickhovermouse_topress_keytype
浏览器配置browser_sizeemulate_devicefreeze_page
反机器人solve_captchaclose_popup

常见问题

可以。在 Bright Data Scraper Studio IDE 中打开爬虫,在 Settings(设置)面板中更改 worker 类型。如果您从 Browser worker 切换到 Code worker,请删除上述所有仅限浏览器的函数调用,否则爬虫在下次运行时会抛出错误。
是的。Code worker 仅发送一次 HTTP 请求,无需浏览器启动也无需页面渲染,因此整次往返耗时仅为 Browser worker 运行的极小一部分。具体加速比取决于目标站点,但 Code worker 任务通常在数秒内完成。
支持。使用 tag_responsetag_all_responses 捕获页面发起的任意 XHR 或 fetch;使用 capture_graphql 捕获并重放 GraphQL 查询。完整参考请参见 Scraper Studio 函数参考

相关内容

Scraper Studio 函数参考

交互命令与解析器命令的完整参考

最佳实践

构建高效爬虫的推荐模式