AI 动态网站爬取:2026 实施指南
TL;DR: 动态网站通常通过 JavaScript、异步接口和用户交互生成内容。高效采集应先检查 HTML、内嵌 JSON 和数据接口,再按需使用 Playwright 渲染;Scrapy 负责调度,确定性解析器处理稳定字段,AI 仅用于字段映射、版式漂移和异常分类。所有模型输出都必须经过类型、范围和原文证据校验。
AI 网页爬取是什么
AI 网页爬取是在传统请求、渲染和解析管道中加入大语言模型、视觉模型或分类器。浏览器仍负责执行 JavaScript,解析器负责提取稳定字段;模型主要用于识别语义相近的标签、处理未知版式,并将异常记录分流到人工复核队列。
例如,商品页将“价格”改成“当前售价”后,固定选择器可能返回空值。模型可以结合货币符号、商品名称和 DOM 邻近关系生成候选字段,但结果必须通过数据类型、允许币种、数值范围和原文证据校验。美国国家标准与技术研究院的生成式 AI 风险管理框架也将虚构内容列为需要测量和控制的风险。
要判断是否需要调用模型或浏览器,首先要确认目标数据实际位于哪里。
动态网站的数据位于哪里
动态网站可以根据脚本执行、接口响应、用户操作或会话状态更新页面,而不必重新加载完整文档。服务器可能只返回 HTML 外壳,浏览器再通过 Fetch、XHR、GraphQL 或客户端路由获取商品、评论和库存;MDN 分别记录了 Fetch API 与 XMLHttpRequest 的工作机制。
按以下顺序查找数据,可以避免不必要的浏览器渲染:
- 检查初始 HTML、结构化数据和脚本中的内嵌 JSON。
- 在浏览器 Network 面板中筛选 Fetch/XHR,定位返回目标字段的请求。
- 记录请求方法、分页游标、载荷、必要请求头、Cookie 和响应状态码。
- 测试接口能否在获得授权的前提下独立调用。
- 只有数据依赖点击、滚动、令牌生成或浏览器状态时,才保留 Playwright。
- 对画布、图片表格和扫描文档使用 OCR 或视觉模型,并保存原图坐标。
不要统一休眠 5 秒。Playwright 的自动等待机制会在操作前检查元素是否可见、稳定且可交互;对于接口数据,可等待特定响应或选择器,使超时直接对应失败步骤。
明确数据路径后,就可以按职责选择工具,而不是让整个流程依赖浏览器或模型。
推荐的分层工具栈
生产系统应根据页面机制分层,避免让单一 AI 工具同时承担请求、渲染、解析和验证。
| 层级 | 推荐工具 | 具体任务 | 主要限制 |
|---|---|---|---|
| 请求层 | HTTP 客户端 | 获取 HTML、JSON 和获授权接口 | 不执行 JavaScript |
| 解析层 | lxml、Beautiful Soup | CSS、XPath 和结构化字段抽取 | 模板改版后需更新规则 |
| 调度层 | Scrapy | 队列、并发、去重、限速和重试 | 浏览器需通过中间件集成 |
| 浏览器层 | Playwright | 点击、滚动、登录态和客户端路由 | 每个上下文消耗更多 CPU 与内存 |
| AI 层 | 大语言模型、OCR、视觉模型 | 标签映射、文本归一和版面识别 | 存在延迟、费用与错误生成风险 |
| 校验层 | JSON Schema、Pydantic | 类型、枚举、必填项和跨字段检查 | 需要预先定义数据契约 |
Scrapy 官方架构说明将调度器、下载器、引擎和项目管道拆分为独立组件,适合隔离渲染与字段提取。稳定字段继续使用接口映射、CSS 或 XPath;只有在结构未知、标签不统一或确定性规则失败时才调用模型。
在这一分层基础上,可以把发现、提取、校验和监控组织成可重复的实施流程。
六步实施流程
- **定义数据契约:**为每个字段规定类型、格式、可空性、更新频率、允许枚举和个人信息边界。
- **建立基准集:**保存不同模板、语言、地区和登录状态下的 HTML、接口响应、截图与人工标注。
- **选择最短路径:**优先使用获授权 API,其次解析 HTML 或 JSON,最后才启动完整浏览器。
- **约束模型输出:**要求模型只返回固定 JSON,并为每个值附带页面原文或 DOM 位置;页面未出现的值必须返回
null。 - **设置入库门槛:**验证日期格式、币种、数值范围、字段关联、主键重复和来源时间戳。
- **监控结构漂移:**跟踪响应码、页面指纹、空值率、解析失败率、模型调用率、人工复核率和单条成本。
模型版本、提示词、选择器或页面模板变更后,应重跑同一组基准页面,并分别比较字段召回率与错误值比例。只统计“成功返回记录数”,会掩盖价格错位、单位丢失和模型补写等问题。
下面以商品目录为例,说明这些步骤如何落到具体管道中。
商品目录实施示例
假设一个获授权的商品目录有三种页面模板,并通过无限滚动加载库存。初始 HTML 只包含商品名称,价格和库存来自游标分页 JSON;会员价还要求有效的会话 Cookie。
先用 Playwright 滚动一次,记录请求 URL、载荷和响应,再让 Scrapy 直接调度该接口。lxml 提取稳定字段,模型只把“现价”“限时价”和“会员价”映射到预定义枚举;每条记录必须满足价格大于零、币种在允许列表内、库存状态与来源文本一致。
如果接口把 sale_price 改成 current_price,JSON Schema 会先报告缺失字段。系统可对候选字段执行一次受约束映射,但无法提供原文证据的记录必须进入人工复核队列,不允许模型猜值。浏览器因此只用于接口发现、令牌生成和会话初始化,而不是重复渲染每个列表页。
完成数据路径设计后,还需要控制网络出口、会话连续性和整体成本。
代理、会话与成本控制
住宅代理适合获授权的地域化页面验证、城市级市场研究和需要持续会话的流程。代理只改变网络出口和会话路由,不能替代访问许可、并发限制、退避重试、缓存或数据最小化措施。
EProxies 提供 7200 万以上住宅 IP,覆盖 195 个以上国家和地区,并支持 HTTP(S) 与 SOCKS5。平台标示可用性为 98.2%,同时提供 99.9% 正常运行时间 SLA;实施前应按所选套餐核对 SLA 的适用范围、统计周期和补偿条件。
无状态列表页可使用受控轮换,并限制单域名并发;登录、购物车或地区选择流程则应将同一代理绑定到一个浏览器上下文。收到 429 时,应读取 Retry-After 并降低速率;连续出现 403 或验证码时,应暂停任务并检查授权和访问模式,而不是提高轮换频率。
按量住宅代理起价为 $0.25/GB;常规阶梯方案在 300GB 档约为 $0.73/GB。ISP SOCKS5 从 $0.95/IP 起,不限流量套餐从 $79/月起。拦截视频、字体和非必要大图可以降低代理流量,但不能阻断应用脚本、身份验证请求或承载目标字段的接口。
具体的轮换与会话配置可参考动态代理如何支持快速网页请求。
网络和成本控制之外,采集任务还必须纳入访问授权与数据治理流程。
合规与数据治理
启动任务前,应记录访问授权、网站条款、数据类别、目标司法辖区、保留期限和删除责任人。robots.txt 表达自动化客户端的访问偏好,但不授予数据使用许可;其协议语法和匹配规则由 RFC 9309 定义。
涉及个人数据时,只采集实现明确目的所必需的字段,并建立更正、删除和访问控制流程。欧盟《通用数据保护条例》第 5 条要求目的限制、数据最小化、准确性与存储期限控制,具体文本可查阅欧盟法规数据库中的 GDPR 第 5 条。
不同国家对公开数据、个人数据、数据库权利和合同条款的处理并不相同。跨地区任务可先查阅各国网页爬取合法性地图,再由具备当地资质的法律顾问评估具体用途。
相关阅读
常见问题
什么是动态网站?
动态网站会根据 JavaScript 执行、接口响应、用户输入、位置、登录状态或时间更新内容。服务器可能先返回不含目标数据的 HTML 外壳,浏览器随后通过 Fetch、XHR 或 GraphQL 填充价格、评论和库存。单页应用、无限滚动列表和客户端筛选页面都属于常见形式。
动态网站会给网页爬取带来哪些挑战?
目标数据可能不在初始 HTML 中,而是在脚本执行、滚动、点击或登录后才出现;分页游标、短期令牌和会话 Cookie 也会使请求难以复现。异步加载会造成等待时机不确定,频繁改版则容易使 CSS 或 XPath 失效。浏览器渲染还会显著增加 CPU、内存、代理流量和故障排查成本。
哪些工具最适合 AI 网页爬取?
静态 HTML 和 JSON 首选 HTTP 客户端配合 lxml 或 Beautiful Soup,批量任务由 Scrapy 调度;必须执行 JavaScript 时再使用 Playwright。标签不统一、页面结构未知或包含图片文字时,可接入大语言模型、OCR 或视觉模型。输出应由 JSON Schema 或 Pydantic 验证后再入库。
AI 如何改进网页爬取?
AI 可以根据文本语义、邻近元素和版面位置恢复失效字段,也能统一日期、币种、单位和分类名称。模型应只处理低置信度或结构异常记录,稳定页面继续使用确定性规则。保存提示词版本、原始证据和校验结果,才能复现一次字段映射。
动态网页何时需要浏览器?
数据只有在执行 JavaScript、点击、滚动、登录或完成客户端路由后才出现时,才需要浏览器。如果 Network 面板能找到可获授权直接调用的 JSON 接口,应优先请求接口。浏览器最好限于接口发现、令牌生成和会话初始化阶段。
如何避免 AI 生成错误数据?
把输出限制为固定 JSON Schema,并明确要求页面没有证据时返回 null。随后检查字段类型、数值范围、枚举、跨字段关系和原文证据;价格还应验证币种与单位。未通过校验的记录应进入重试或人工复核队列,不能自动写入生产数据库。
本文由 EProxies 团队撰写,经内部质量标准核查与人工审核后发布。