不会编程用 AI 写爬虫:2026 抓数据到合规全流程
「我想把这个网站的数据整理成表格,但我不会编程」——这是过去十年里最常见的技术需求之一,也是过去十年里最劝退的一个。写爬虫要懂 HTTP、懂 HTML 选择器、懂 JavaScript 渲染、懂反爬对抗,任何一环卡住就前功尽弃。2026 年这件事变了:AI 写爬虫已经从「AI 帮你补几行代码」变成「你描述需求、AI 跑通全流程」。这篇文章不吹概念,直接给你三条能落地的路线、可复制的提示词、真实的命令,以及国内做数据抓取绝对不能越过的法律红线。
为什么 2026 年写爬虫特别适合交给 AI
爬虫是所有编程任务里「AI 成功率最高」的一类,原因很具体:它的反馈闭环极短。写一段抓取代码,跑一次,要么拿到数据、要么报错,对错立刻可见——AI 可以自己看着报错改,改到跑通为止。这和写业务系统完全不同,业务系统的 Bug 可能几周后才暴露。
另一个原因是爬虫代码高度模式化。requests + BeautifulSoup、Playwright 打开页面等元素、分页循环、写 CSV——这些套路在训练数据里出现过几十万次,模型闭着眼睛都能写对骨架。真正难的部分(这个网站的按钮长什么样、数据藏在哪个接口里)恰好是可以用截图、用 DOM 快照喂给 AI 的。所以 AI 写爬虫不是勉强能用,而是这条赛道天然对 AI 友好。
先明确你要抓什么
动手前先回答三个问题:目标数据在哪几个页面上?页面是打开就有内容,还是要滚动/点击才加载?需要登录吗?这三个答案决定你走下面哪条路线,也是你给 AI 的第一段提示词。
三条技术路线,先选对再动手
不要一上来就问 AI「帮我写个爬虫」。先按下表选定路线,再让 AI 在这条路线里干活,成功率天差地别。
| 路线 | 适合场景 | 上手成本 | 花钱吗 |
|---|---|---|---|
| 让 AI 直接写脚本 | 一次性抓取、结构固定的站点、要完全自主可控 | 低(会装 Python 即可) | 只花 AI 的 token |
| 自托管 Crawl4AI | 批量抓大量页面、要喂给 RAG/知识库、想省钱 | 中(要配 Python 环境和浏览器) | 免费开源,自己出机器 |
| 托管 API(Firecrawl 等) | 不想碰环境、目标站有反爬、要稳定产出 | 最低(一个 API Key) | 按页计费,有免费额度 |
选择逻辑一句话概括:抓几十页选路线一,抓几千页选路线二,抓不动了选路线三。三条路线不冲突,实际项目里经常混用——主力用自托管跑量,遇到反爬凶的站点单独走托管 API。
路线一:让 AI 直接给你写脚本
这是最通用的一条路。你需要一个会执行命令的 AI 编程工具(Claude Code、Codex、Cursor、通义灵码等都可以),让它写代码、跑代码、看报错、自己改。关键在于提示词要给足信息——尤其是「先侦查再动手」这一步,能把成功率从五成拉到九成。
下面这段提示词模板可以直接复制使用,把方括号里的内容换成你自己的:
我要抓取 [目标网址] 上的数据,最终导出成 CSV。
我需要的字段:[标题、价格、发布时间、详情页链接]
请按这个顺序做,每一步做完告诉我结果再继续:
1. 侦查:先用 curl 或 Python 请求这个页面,看看返回的 HTML 里
有没有我要的数据。如果没有(说明是 JS 动态渲染),
检查页面是否走了 XHR/Fetch 接口,优先直接调那个接口。
2. 选型:根据侦查结果决定用 requests+BeautifulSoup,
还是必须上 Playwright 无头浏览器。告诉我理由。
3. 写最小可运行版本:先只抓第一页的前 3 条,跑通给我看数据。
4. 扩展:确认数据正确后再加分页循环、加异常重试、加 CSV 导出。
5. 礼貌:请求之间加 1-2 秒随机延时,带上正常的 User-Agent,
并先检查该站的 robots.txt 是否禁止抓取这个路径。
环境:Python 3.11,需要的依赖你直接装。
遇到反爬(403、验证码、需要登录)先停下来告诉我,不要自己绕过。这段提示词里最值钱的是第 1 步和第 3 步。第 1 步逼 AI 先确认数据到底在不在 HTML 里——很多新手(和很多 AI)一上来就写 BeautifulSoup 解析,结果目标站是 React 渲染的,解析出来一片空白,来回折腾半小时。第 3 步「先抓 3 条」则避免了直接跑全量、错了浪费大量请求还可能把你的 IP 打进黑名单。
隐藏接口比解析 HTML 香得多
很多网站的列表页数据其实来自一个返回 JSON 的接口。在浏览器按 F12 打开「网络」面板,刷新页面,筛选 Fetch/XHR,往往能直接看到干净的 JSON。把那个请求「复制为 cURL」丢给 AI,让它改写成 Python 脚本——这比解析 HTML 稳定十倍,也不需要开浏览器。
路线二:Crawl4AI,开源的 AI 友好爬虫
Crawl4AI 是目前最流行的开源 AI 爬虫库,基于 Playwright,核心能力是把网页直接转成干净的 Markdown 或结构化 JSON——正好是喂给大模型和 RAG 知识库需要的格式。它省掉的是「解析 HTML、清洗噪音、去掉导航栏和广告」这一大堆脏活。截至 2026 年 7 月,最新版本是 0.9.2,需要 Python 3.10 以上。
# 安装(建议先建虚拟环境)
pip install -U crawl4ai
# 关键:装完必须跑这一步,它会下载 Chromium 浏览器
crawl4ai-setup
# 检查环境是否正常
crawl4ai-doctor
# 如果浏览器没装上,手动补一次
python -m playwright install --with-deps chromium最容易踩的坑就是装完 pip 包直接开跑,忘了 crawl4ai-setup。没有这一步就没有浏览器内核,运行时会报一堆看不懂的 Playwright 错误。装好之后一个最小例子只有十几行:
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(url="https://example.com")
# 直接拿到清洗过的 Markdown,可以塞进知识库
print(result.markdown)
asyncio.run(main())Crawl4AI 还支持用大模型做结构化抽取——你给一个字段定义(比如「商品名、价格、库存」),它调用模型把页面内容填成 JSON。这里可以接本地模型(Ollama 跑 Qwen、Llama 等)省钱,也可以接 DeepSeek、GLM 这类便宜的国产 API。注意这条路每抓一页都要烧一次模型调用,页面多的时候成本会明显上来,能用 CSS 选择器解决的就别上模型。
路线三:托管 API,不想碰环境就选它
Firecrawl 这类托管服务把代理轮换、浏览器池、智能等待、反爬对抗全部包在服务端,你只需要发一个 HTTP 请求,拿回 Markdown 或 JSON。适合两种人:完全不想配 Python 环境的,以及自己写的爬虫已经被目标站封了的。它的免费额度是每月 1000 credits(标准抓取 1 页 = 1 credit,即约 1000 页/月),不需要绑卡就能试。
# 最小验证:抓一页,直接返回 Markdown
curl -X POST https://api.firecrawl.dev/v1/scrape \
-H "Authorization: Bearer fc-你的APIKEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "formats": ["markdown"]}'用托管 API 时要盯紧账单。这类服务的「结构化抽取」功能通常按更贵的费率计费,一页可能消耗好几个 credit,写循环之前务必先单页试跑、确认单价。另外免费额度一般不累积,当月不用就清零。
给 AI 装上「眼睛」:Playwright MCP
前面三条路线里,AI 都是「盲写」——它看不见页面长什么样,只能靠你描述或者靠 curl 回来的 HTML 猜。装上 Playwright MCP 之后就不一样了:AI 可以自己打开浏览器、点击、滚动、读取页面结构,边看边写选择器。这对付那些结构复杂、要点几下才出数据的站点效果非常明显。
# Claude Code 里一行装好(需要 Node.js 18+)
claude mcp add playwright npx @playwright/mcp@latest
# 想让团队共用配置,加 --scope project 写进项目里
claude mcp add --scope project playwright npx @playwright/mcp@latest其他支持 MCP 的工具(Cursor、VS Code、Windsurf、Claude Desktop 等)配置格式是通用的,在对应的 MCP 配置文件里写上 command 为 npx、args 为 @playwright/mcp@latest 即可。装好之后你可以直接说「打开这个页面,找到商品列表的容器元素,告诉我该用什么选择器」,AI 会真的去看,而不是猜。
抓不动了怎么办:常见拦路虎
- 返回 403 或空白页:多半是缺 User-Agent 或 Referer。把浏览器里那个请求「复制为 cURL」整套请求头喂给 AI,让它照抄。
- HTML 里没有数据:页面是 JS 渲染的。优先找 XHR 接口直接调;找不到再上 Playwright 等元素出现。
- 需要登录:正规做法是让 Playwright 复用你已登录的浏览器会话,或手动登录一次后保存 cookie。注意登录后的数据往往受用户协议约束,抓取风险更高。
- 出现验证码:这是网站明确拒绝自动化的信号。请停手改用官方 API 或申请数据授权,不要让 AI 帮你绕过——技术上做得到,法律上做不得。
- 抓着抓着被限速:降低并发、加大延时。做数据抓取时,慢就是快,被封 IP 才是真的慢。
AI 不会替你承担法律责任
AI 编程工具会老老实实执行你的指令,包括那些不该执行的。它不知道你抓的是不是个人信息,也不知道目标站有没有明确禁止抓取。合规判断必须由你自己做,出了事是你的名字在案卷上。
国内做数据抓取的合规红线
「精通爬虫技术,从入门到入狱」不是段子。国内涉及数据抓取的法律框架主要是《网络安全法》《数据安全法》《个人信息保护法》,加上《刑法》里的几个罪名。下面这几条是明确的红线,不要试。
- 不抓个人信息:姓名、手机号、身份证、住址、人脸、行踪轨迹等,未经同意抓取和处理直接触碰《个人信息保护法》,规模大了可能构成侵犯公民个人信息罪。
- 不破解防护措施:绕过登录校验、破解加密参数、批量打验证码,这类行为容易被认定为「非法获取计算机信息系统数据」,《刑法》第 285 条对应的是实打实的刑期。
- 不碰特殊系统:国家事务、国防建设、尖端科学技术领域的计算机信息系统,未经许可侵入本身就构成非法侵入计算机信息系统罪,不看你有没有拿到数据。
- 尊重 robots.txt:网站根目录的 robots.txt 是所有者对抓取范围的公开意思表示。违反它虽不必然违法,但在纠纷中会成为对你极其不利的证据。
- 控制访问频率:高频请求把对方服务器打慢甚至打挂,可能构成破坏计算机信息系统罪。加延时、限并发是自我保护,不是客气。
- 看清使用目的:抓公开数据自己做研究分析,和抓竞品数据直接做成同类产品去竞争,法律评价完全不同。后者常见的落点是不正当竞争。
一个简单的自检标准:数据是否公开可见、获取手段是否正当、使用目的是否合法、有没有对对方造成损害。四条里任何一条答不上来,就先别跑那个脚本。绝大多数正当需求——抓公开的资料整理成表格、把文档转成知识库、监控自己关注的公开信息——只要控制好频率、避开个人信息,都在安全区里。
把爬虫交给 AI 之后,卡住你的往往不再是「不会写代码」,而是「不知道该让 AI 干什么」——怎么拆任务、怎么给上下文、怎么验收结果、什么时候该停下来。这套判断力才是 AI 时代真正的门槛。IMAI 的体系化实战课程讲的就是这件事:用 AI 工具把一个想法做成真正能交付的产品,从选型、实现到上线合规,每一步都有可复制的方法。
想系统学会用 AI 编程,从入门到做出真实产品?
查看系统课程