公司动态
让 Claude Code 帮你写爬虫:2026 年的 “Agent 原生” 数据采集
目录TL;DR一、前言为什么你的 Agent 写不好爬虫二、前置环境准备2.1 环境依赖要求2.2 全局安装 Bright Data CLI2.3 CLI 授权登录2.4 项目规则配置 CLAUDE.md三、Agent 爬虫生产落地实战Claude Code Bright Data CLI3.1 任务背景Hacker News 技术资讯采集3.2 Claude 自动执行采集器创建终端指令3.3 会话内缓存 Collector ID快速复用3.4 如果网站 DOM 改版自动触发自愈逻辑四、为什么 Agent 原生采集值得在 2026 年关注4.1 传统爬虫 vs. Agent 原生爬虫核心差异对比五、总结这不是换个工具是换个分工六、FAQTL;DR让 Claude Code 自己写爬虫实际使用中Agent 自行生成的爬虫经常会遇到 Cloudflare、JS 渲染和 DOM 改版等问题。正确的做法是Agent 原生采集不让 Agent 写爬虫让它调爬虫工具。试过一圈之后我选了 Bright Data CLI——不用自建代理池不用维护浏览器指纹网站改版跑一条 heal 命令就能修复Agent 全程只碰结构化 JSON。一、前言为什么你的 Agent 写不好爬虫AI 编程助手Claude Code、Cursor写业务代码很顺但一碰到去网上抓点数据就翻车。我自己试过不少次让 Agent 写个脚本抓技术论坛它十秒给出requests BeautifulSoup运行要么拿到空 HTML要么被 Cloudflare 拦在验证码页。好不容易加上 Playwright 跑通了过两天网站改了个 class 名脚本静默失效——不报错只返回 null等发现的时候数据已经断了好几天。原因很简单爬虫的难点从来不是写选择器而是代理池、浏览器指纹、JS 渲染、验证码和 DOM 维护这些底层脏活。让一个专注逻辑生成的 LLM 去扛基础设施方向就错了。正确的做法是Agent 原生采集不让 Agent 写爬虫让它调爬虫工具。我用的是 Bright Data CLI把采集能力封装成bdata命令Claude Code 只管调用和处理 JSONBright Data 提供代理、网页解锁、浏览器自动化和数据采集等基础设施Agent 可以通过 CLI 调用相应的数据采集能力。。这篇文章以 Hacker News 采集为例完整演示从搭建到自愈的全流程。免费开始使用 Bright Data CLI →二、前置环境准备2.1 环境依赖要求Bright Data CLI 基于 Node.js 运行同时 Claude Code 终端需要识别全局 bdata 命令校验 Node 版本必须≥v20.0.0打开终端执行命令node-v该 CLI 包的 engines 字段声明了 node20低版本安装时 npm 会直接报错拒绝安装所有这里我们一定要确保版本≥v20.0.0如果版本不满足可以在官网重新下载安装即可 。如下是博主安装的node2.2 全局安装 Bright Data CLI我们需要将采集能力注册为系统的全局命令这样无论是本地的终端还是 Cursor、Claude Code 的内嵌终端都可以直接调用而不需要在每个项目中重复安装。执行全局安装命令Windows/macOS/Linux 通用npminstall-gbrightdata/cli验证安装是否成功bdata--version终端输出版本号即代表安装完成若提示 command not found关闭编辑器终端重启即可加载环境变量。2.3 CLI 授权登录登录命令bdata login执行命令自动唤起浏览器跳转 Bright Data 授权页面完成账号登录授权。本地 Mac/Windows推荐该方式是OAuth 鉴权本地安全存储 API 凭证文件仅当前系统用户可读每次执行 bdata 命令自动携带鉴权信息无需重复输入密钥。通过如上截图我们可以看到执行登录并授权成功后CLI 会自动创建两个配套采集 Zone不需要我们在后台手动配置。CLI 的基础用法博主上篇已经写过有需要的可以去翻上一篇。这篇博主只聊一件事怎么让 Agent 来敲这些命令。2.4 项目规则配置 CLAUDE.md为了让 Claude Code 知道如何正确使用这个工具而不是每次都试图自己写 fetch 脚本我们需要在项目根目录建立一个“行为准则”。在项目根目录新建CLAUDE.md文件用于全局采集约束。# 项目采集演示规范 本文件为会话执行约定仅用于 Bright Data CLIbdata工具工作流 ## 执行约束 1. 所有公开网页数据采集任务禁止自行编写 Playwright、Requests、httpx 爬虫脚本 2. 统一调用本地全局安装 brightdata/cli简写指令 bdata 3. 使用 bdata scraper create 生成采集器ID页面字段返回null空值时使用 bdata scraper heal 做自愈调试 4. 本次对话上下文内记住生成的采集器ID方便后续复用测试 5. 仅抓取无需登录的公开网页严格遵守GDPR、CCPA隐私合规、目标网站robots协议 6. 抓取海外站点时通过 --country 参数指定对应地区住宅IP ## 固定采集器标识Collector ID输出后置归档规则 说明在单次采集任务产出完成后执行收尾归档 ### 触发时机 所有结构化产物JSON / Markdown表格生成完毕作为**最后一步收尾动作**在当前MD文档追加采集实例元信息归档块。 ### 字段释义 - 实例别名给本条采集流水线命名便于人工识别业务用途 - Collector ID采集实例唯一静态标识绑定目标地址与输出Schema用于跨会话复用配置、数据溯源、MCP调度、多流水线隔离 - 绑定URL本次采集目标源地址 - 输出字段Schema本次约定输出字段清单字段名(业务释义)这份配置等同于 Claude 的长期记忆 Skill无需每次对话重复告知工具使用规范是实现自动化调度的核心前提。三、Agent 爬虫生产落地实战Claude Code Bright Data CLI准备工作就绪我们进入实战环节。我们将以 Hacker News 首页为例演示如何让 Agent 完成从“理解需求”到“产出数据”再到“故障自愈”的全过程。3.1 任务背景Hacker News 技术资讯采集这里博主选用无 Bright Data 预制解析模板 Hacker News 首页作为目标站点完整演示自然语言定义采集、Collector 会话缓存、DOM 变更一键自愈的自定义爬虫全生命周期适配研发资讯汇总分析场景。3.2 Claude 自动执行采集器创建终端指令我们只需要在 Claude Code 终端输入自然语言需求比如读取项目 CLAUDE.md 约束目标 URL https://news.ycombinator.com任务抓取首页公开资讯提取帖子标题、点赞数、评论链接。最终输出结构化表格用于 AI 行业资讯汇总分析。AI 读取项目 CLAUDE.md 执行规范识别采集需求通过 ! 调用本地 Bash 终端自动执行如下创建命令增加 --name 便于后台识别采集器、–pretty 格式化 JSON、–confirm 跳过安全确认弹窗21 捕获完整日志供 Agent 解析。!bdata scraper create https://news.ycombinator.comExtract each post on the homepage: title, points/upvotes, and the comment link/count--namehn-homepage--pretty--confirm21采集器创建成功后Agent 自动调用 bdata scraper run 执行抓取如下截图输出结果采集输出标准化数据后可自动生成可读表格也能直接本地存档、存入数据库或交给大模型做行业热点与趋势分析实现采集 — 分析自动化流转。3.3 会话内缓存 Collector ID快速复用依据 CLAUDE.md「固定采集器标识Collector ID输出后置归档规则」Agent 在当前对话内存缓存本次 Collector ID同会话内再次发起同源资讯抓取需求时直接读取缓存复用该采集实例配置无需重复复述目标URL、输出字段、表格规范。新会话无内存缓存依赖后置写入MD的【采集实例归档】元块作为持久化基准开启全新对话时传入MD归档里记录好的 Collector ID即可加载整套采集配置复用。3.4 如果网站 DOM 改版自动触发自愈逻辑当采集结果出现字段失效时Agent 可以根据预设规则调用 heal 流程进行修复该能力主要适用于 DOM 结构的局部变化。CLI 云端重新遍历页面节点、更新内部选择器返回修复后完整预览数据。heal 返回修复后的预览数据后确认无误需执行 bdata scraper approve collector_id 才会正式上线不 approve 则原配置不变。准备把这套 Agent 原生采集工作流用到自己的项目从一个公开网页开始让 Claude Code 负责任务逻辑让 Bright Data 提供网页数据采集基础设施。→ 开始使用 Bright Data每月 5,000 次页面加载不需要绑定信用卡四、为什么 Agent 原生采集值得在 2026 年关注通过上述实战我们可以清晰地看到这种“Agent 原生”采集模式显著减少部分基础设施和维护工作。它不仅仅是工具的更换更是开发范式的转变。4.1 传统爬虫 vs. Agent 原生爬虫核心差异对比对比维度传统爬虫模式 (Agent 裸写/自建)Agent 原生模式 (Bright Data CLI)开发模式手动编码Agent 生成requests/BeautifulSoup等脆弱代码无法处理 JS 渲染和反爬。工具调用Agent 只需调用bdata命令底层由专业基础设施处理Agent 专注业务逻辑。基础设施自行维护需自建代理池、处理 IP 轮换、维护浏览器集群成本高且不稳定。全托管服务代理、解锁、浏览器渲染均由 Bright Data 托管提供稳定、合规的 API。维护方式被动修复网站改版导致爬虫失效需人工发现、调试、修复并重新部署耗时耗力。支持自动修复部分 DOM 结构变化通过bdata scraper heal命令AI 自动识别并修复选择器实现自愈保障数据管道稳定。五、总结这不是换个工具是换个分工用了三周 Bright Data CLI Claude Code 的组合我最大的感受是数据采集终于从写正则、调选择器变成了调命令、拿数据。但我也得说清楚边界免得你踩坑只适合公开网页。需要登录、需要提交表单、需要绕过付费墙的场景CLI 不支持也不应该支持——合规红线摆在那里Bright Data 仅采集公开数据通过 SOC 2、ISO 27001 认证服务 20,000 企业客户。内部系统别用。如果你采集的是公司内网页面或本地 HTML 文件直接用解析库更合适没必要走托管服务。heal 不是万能的。它只处理 DOM 结构的局部变化class 改名、标签嵌套调整。如果网站彻底重做、页面语义发生根本变化heal 会失败这时应该重新bdata scraper create。想让 AI Agent 直接访问实时 Web 数据了解 Bright Data MCP为 Claude、Cursor 等 AI Agent 接入实时 Web 数据和工具。→ 探索 Bright Data MCP每月 5,000 次页面加载不需要绑定信用卡六、FAQQ1Collector ID 会过期吗换了电脑还能用吗A:不会过期。Collector ID 是绑定在 Bright Data 账号下的静态标识配置存在云端和本地环境无关。换电脑后重新执行bdata login授权同一个账号就能用原来的 ID 直接bdata scraper run id不需要重新 create。建议把 ID 写进项目的 CLAUDE.md /.cursor/rules/CODEX.md跨设备、跨会话同步。Q2: 如果网站改版幅度很大Self-Healing 还能生效吗A: Self-Healing 主要针对 DOM 结构的局部变化例如 class 名改变、标签嵌套层级调整等。如果网站进行了彻底的重新设计导致页面语义发生根本变化Self-Healing 可能会失败。此时最稳妥的方式是重新运行 bdata scraper create 创建一个新的采集器。Q3: 采集到的数据可以保存到哪里A: CLI 本身负责将数据以 JSON 格式输出到标准输出stdout。你可以利用操作系统的重定向功能将其保存到文件如 bdata scraper run data.json或者在你的 Agent 工作流中将输出的 JSON 数据直接传递给后续的处理脚本存入数据库或数据仓库。