Claude Code + Bright Data Web Scraping:2026 年 3 步搭建 AI 爬虫

本文记录了我用 Claude Code + Bright Data CLI 搭建生产级爬虫的完整实践。核心思路很简单------不要让 Agent 自己裸写 CSS 选择器,而是通过 Bright Data CLI 让它调用真正的采集基础设施:住宅代理、JS 渲染、CAPTCHA 处理全部内置。

大致分为三步:npm install -g @brightdata/clibdata loginbdata scraper create <url> "字段描述",生成的 Collector ID 可以在 Claude Code 内嵌终端直接复用,也可以通过 brightdata skill add bright-data-mcp 深度接入 MCP。每个新账号自动获得每月 5,000 次免费request。本文带大家详细体验一下。

想直接测试这套方案?可以先注册 Bright Data,创建一个 scraper,再回到 Claude Code 中调用。这样可以先验证你的目标网站是否适合这套采集流程。

开始测试 Bright Data

背景

过去三个月,我一直在用 Claude Code 做日常开发。说实话,让它写业务代码、跑测试、管 Git,体验确实不错。但每次我想让它帮我写一个"能上生产环境"的爬虫,他就变味儿了------Agent 能写出漂亮的选择器,却搞不定代理轮换、JS 动态渲染,更不说网站改版后的自愈。所以结果就是Demo 跑得通,上线第二天就挂。后来我发现问题不在于 Agent 的编码能力,而在于它缺少真正的采集基础设施。直到我接入了 Bright Data CLI ,这个难题才解决,我的Agent 终于实现了通过终端命令调用专业的采集能力,而不是自己"裸写"选择器。

这个痛点其实很普遍。Reddit 的 r/AI_Agents 社区里也经常有人吐槽"Web scraping projects are not easy"------Agent 写的选择器在真实网络环境里脆弱得像纸糊的。根本原因就是Agent 擅长理解页面结构,但不擅长处理反爬、代理、验证码这些基础设施层面的问题。与其让 Agent 去做它不擅长的事,倒不如给它一个现成的采集工具去调用。这就是 Bright Data CLI 解决问题的思路。

核心思路

传统做法是让 Agent 直接操控浏览器(比如 Puppeteer/Playwright),或者让它手写 fetch + cheerio 解析逻辑。两种方式都有硬伤:

  • 裸浏览器方案:Agent 拿到的是一整页 HTML,需要自己解析。遇到 Cloudflare 防护直接拿到一张挑战页,Agent 还会把它当正文来"理解"。
  • 手写选择器方案:选择器一改就废。网站改版后返回 null 或半截数据,Agent 还会把这当"事实"去用。

与之不同的是,Bright Data CLI 的做法会把采集能力封装成终端命令,Agent 只管调用,不用管基础设施。代理轮换、JS 渲染、CAPTCHA 处理 、真实用户指纹------全部内置在 Bright Data 的网络里(20,000+ 客户,ISO 27001 认证,SOC 2 Type II 合规,仅采集公开数据,符合 GDPR 和 CCPA)。架构总览如下图。

操作步骤

第一步:安装 CLI

在终端输入下面指令

复制代码
npm install -g @brightdata/cli

安装后我们会得到两个命令:brightdata 和它的简写 bdata,用哪个都行。要求 Node.js 20+,LTS 版本推荐。

如果你不想全局安装,也可以用 npx -p @brightdata/cli brightdata <command> 按需运行,不影响使用。

第二步:登录认证

在终端输入下面指令

复制代码
bdata login

浏览器会自动打开 Bright Data 的 OAuth 登录页面。登录成功后,CLI 会自动完成两件事:

  1. 在本地安全存储我们的 API Key(权限 0600,仅所有者可读)
  2. 自动创建两个专用代理 zone:cli_unlocker(解锁 API)和 cli_browser(浏览器 API)

之后所有命令自动认证,不需要重复登录。如果你在 SSH 或无浏览器环境,可以用 bdata login --device 走设备授权流程。

第三步:用自然语言创建爬虫

这是最关键的一步。你不需要写任何选择器,只需要用自然语言描述你要什么字段:

复制代码
bdata scraper create https://news.ycombinator.com \
  "Extract top stories: title, url, points, author, comment count"

AI 会在 5-15 分钟内生成一个完整的爬虫(复杂目标最多 25 分钟),返回一个 Collector ID:

Plain Text

复制代码
Collector ID: c_mpohus372o5tmid1jk
Status: ready

这个 Collector ID 是核心资产------它跨会话稳定,后续所有操作都围绕它展开。接下来直接运行:

复制代码
bdata scraper run c_mpohus372o5tmid1jk https://news.ycombinator.com --pretty

返回的是结构化 JSON,不是一坨 HTML 让你自己解析:

拿到的是干净的 JSON 数组,每条记录都有明确的 schema。Agent 可以直接消费这些数据,不需要自己做任何解析。

下一步可以把 Collector ID 接入你的 Agent 工作流,让 Claude Code 在后续任务中直接复用现有 scraper,而不是每次重新生成选择器。

开始使用 Bright Data

复用 Collector ID

上面三步是在终端自己手动跑的。我们真正的目标是让 Agent 自己调这些能力。做法很简单,把 Collector ID 写进项目配置文件,让 Agent 跨会话复用就行了。

Claude Code:写入 CLAUDE.md

复制代码
## 数据采集
- Hacker News 热榜爬虫 Collector ID: `c_mpohus372o5tmid1jk`
- 运行命令: `bdata scraper run c_mpohus372o5tmid1jk https://news.ycombinator.com --pretty`
- 输出格式: JSON 数组,字段包括 title, url, points, author, comment_count

Cursor:写入 .cursor/rules

Codex:写入 CODEX.md

这样 Agent 在后续会话中看到需要采集数据时,会直接调用这个 Collector ID,而不是重新写选择器。

通过 MCP 接入

如果我们想让 Agent 更紧密地调用 Bright Data 的全套能力(不只是 scraper),还可以通过 skill 安装 MCP 集成:

复制代码
brightdata skill add bright-data-mcp

只需要一条命令,Bright Data 的 MCP 工具(搜索、抓取、结构化数据提取等)就会作为技能注入 Claude Code。之后我们在 Claude Code 里直接用自然语言说"帮我抓一下这个 Amazon 商品页的价格",Agent 会自动选择合适的工具去执行。也可以用 brightdata skill add 交互式选择需要的技能(还支持 scrapesearchdata-feeds 等)。

想让 Claude Code 直接调用 Web Data?

使用 Bright Data MCP,可以把实时 Web Access 工具直接接入兼容 MCP 的 AI Agent。相比手动执行 CLI 命令,MCP 更适合需要让 Agent 自主选择搜索、抓取和数据提取工具的工作流。

探索 Bright Data MCP

一键自愈

这是我觉得最实用的功能。传统爬虫在网站改版后会静默失败------不报错,只返回 null 或空数据。只有等我们自己发现了,再去手动修选择器。而Bright Data CLI 的自愈机制可以原地修复:

复制代码
bdata scraper heal c_mpohus372o5tmid1jk \
  "The points field returns null since the redesign. Re-capture points from the new page structure." \
  --url https://news.ycombinator.com

修复完成后会进入审批,返回 status: "awaiting_approval" 和一个 preview_result。我们确认数据没问题后输入:

复制代码
bdata scraper approve c_mpohus372o5tmid1jk

关键点:Collector ID 不变。所有下游触发器、定时任务、集成代码零改动继续工作。如果是无人值守场景,可以加 --auto-approve 跳过审批直接上线。

方案对比

|--------|------------------|-------------------------|-----------------------------------|
| 维度 | Agent 裸写选择器 | Agent + 裸浏览器(Puppeteer) | Agent + Bright Data CLI |
| 输出格式 | 依赖 Agent 解析 HTML | 整页 HTML,Agent 需自行提取 | 结构化 JSON,带 schema |
| 反封锁能力 | 无 | 无 | 住宅代理 + JS 渲染 + CAPTCHA 处理 |
| 网站改版 | 手动修选择器 | 手动修脚本 | 一条 heal 命令原地修复 |
| 基础设施维护 | 自己管 | 自己管代理和浏览器 | Bright Data 托管 |
| 合规 | 自行负责 | 自行负责 | SOC 2 Type II、ISO 27001、GDPR、CCPA |
| 成本 | 仅 Agent 调用费 | Agent 费 + 代理费 + 带宽费 | 每月 5,000 次免费,超出后 $1.50/千次 |

不想自己维护代理、IP rotation 和 CAPTCHA 处理?

根据你的采集场景选择 Web Unlocker、Browser API 或 Web Scraper API,把基础设施交给 Bright Data,Agent 专注于数据处理和业务逻辑。

查看 Web Scraping 解决方案

产品选择推荐

|----------------------------|----------------------------------|
| 场景 | 推荐方案 |
| AI Agent 需要实时访问网页 | Bright Data MCP |
| 快速创建结构化 scraper | Scraper Studio / Web Scraper API |
| JS-heavy、多步骤浏览器操作 | Browser API |
| 需要处理反爬并返回网页内容 | Web Unlocker |
| 搜索 Google/Bing/Yandex 等结果页 | SERP API |

特别注意:产品资料明确指出,Google SERP 不应该使用 Residential/DC/ISP proxies,而应使用 SERP API。

合规说明

这一点非常重要。如果我们的爬虫数据要接入生产环境,合规性是必须考虑的。Bright Data 的合规状态如下:

  • SOC 2 Type II:有报告,可签 NDA 获取
  • ISO 27001:已认证
  • GDPR:已进行数据隐私影响评估(DPIA),作为产品流程的一部分
  • CCPA:合规
  • 数据范围:仅采集公开数据,不涉及登录/身份验证后的内容

以上信息来自 Bright Data 官方安全与合规章程。

FAQ

Q1:Bright Data CLI 的免费额度具体能干什么?

每个新账号自动获得每月 5,000 次免费 credits(约 $7.50 价值),无需信用卡、无需优惠码。额度在 Web Unlocker API、SERP API、Web Scraper API 和 Scraper Studio 之间共享,每月 1 号自动续期。1 credit = 1 次请求。

Q2:Claude Code 接国产模型(如火山引擎 doubao)能不能配合 Bright Data CLI?

可以。Bright Data CLI 是独立的终端工具,和 Claude Code 背后用什么模型无关。我在 Mac 上用 Claude Code 接火山引擎方舟的 doubao-seed-2.0-mini,配置 ANTHROPIC_BASE_URL 指向 ark.cn-beijing.volces.com/api/coding 即可,同时让 Agent 在终端调用 bdata 命令。Agent 的编码和推理能力由模型决定,采集能力由 Bright Data CLI 提供,两者互不影响。

Q3:网站改版后自愈需要多久?会不会影响线上数据?

bdata scraper heal 的处理时间取决于目标页面的复杂度,通常几分钟内完成。在审批门控模式下,旧爬虫在 approve 之前仍然可以运行(只是返回的可能是旧 schema 的数据),approve 后 Collector ID 不变,下游无缝切换。如果用 --auto-approve,则自愈后自动上线,适合无人值守场景。

Q4:Collector ID 是什么?为什么要复用它?

Collector ID 是 c_ 开头的字符串(如 c_mpohus372o5tmid1jk),是每个爬虫的唯一标识。复用它的好处是:不需要每次重新创建爬虫,下游代码不需要改任何引用,自愈后 ID 也不变。把它写进 CLAUDE.md.cursor/rules,Agent 就能跨会话记住这个爬虫配置。

Q5:MCP 集成和直接用 CLI 有什么区别?

CLI 方式是 Agent 在终端执行 bdata 命令,拿到 JSON 结果后再处理。通过 brightdata skill add bright-data-mcp 安装的 MCP 技能则是把 Bright Data 的工具直接注入 Agent 的工具集,Agent 可以更自然地选择和调用。MCP 集成更紧密,但 CLI 方式更灵活、更透明,适合需要精细控制的场景。两者可以同时使用。


开始你的第一个 AI Web Scraping 项目

如果你的目标只是验证一个网站能不能稳定采集,不需要先搭完整的爬虫基础设施。先创建一个 scraper,拿到结构化 JSON,再决定是否接入 Claude Code、MCP 或现有的数据管道。

开始使用 Bright Data

探索 Web Scraping API

查看 Bright Data MCP

相关推荐
TJHHH.2 小时前
XSS-labs-master
前端·web安全·xss
风月说与山鬼2 小时前
十二、Vue插件
前端·vue.js
专注仿真2 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
spter。2 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap
Sayai2 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts
阿里云大数据AI技术3 小时前
DataWorks Data Agent 实战课堂(五):AI 多模态智能数据处理
人工智能·agent
用户3169353811833 小时前
SpringBoot + Vue 项目生产环境部署完整指南
前端·后端
又折桃枝换酒钱3 小时前
SASAV:自主科学分析与可视化智能体(翻译与解读)
人工智能
用户5833339816683 小时前
无代码 RPA 对接 LLM:实现文档 OCR+NLP 智能解析的落地实践
人工智能