处理反爬虫防护
现代网站使用先进的机器人检测技术。本指南将介绍 FourA 如何处理反爬虫系统,以及如何最大化您的成功率。
机器人检测的工作原理
网站使用多层防护:
- IP reputation:数据中心和已知的 proxy IP 会被拦截
- Wire fingerprinting:每个 HTTP 客户端都有一个独特的握手签名,网站可以检测到它
- Browser fingerprinting:JavaScript 会检查 headless 浏览器特征
- Behavioral analysis:请求模式、时间间隔和导航流程
- CAPTCHAs:作为最后防线的视觉验证
常见的反爬虫服务商包括 Cloudflare、DataDome、PerimeterX 和 Akamai Bot Manager。
FourA 如何提供帮助
真实的 Wire-Level 请求
单个 endpoint(POST /api/single/)会发出与真实浏览器匹配的握手特征。这无需运行完整浏览器的开销即可通过最常见的 wire-level 检查。
启用 unblocker 还可以注入真实的浏览器 header(User-Agent、Sec-Ch-Ua、Sec-Fetch-*、Accept-Encoding):
{
"method": "GET",
"url": "https://protected-site.com/data",
"unblocker": true
}
真实浏览器渲染
浏览器 endpoint(POST /api/browser/)运行一个完整的 Chrome 浏览器实例。结合反检测补丁,它可以通过大多数基于 JavaScript 的指纹检查。
Proxy 轮换
proxy endpoint(POST /api/proxy/)会自动轮换住宅和数据中心 proxy。如果一个 IP 被拦截,下一次尝试将使用不同的 IP。
按防护等级划分的策略
低防护(大多数网站)
使用带有 unblocker 的单个 endpoint。Wire-level 匹配就足够了。
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://news-site.com/article", "unblocker": true}'
中等防护(Cloudflare、基础 WAF)
使用浏览器 endpoint 来通过 JavaScript 挑战:
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://protected-site.com/data", "timeout_ms": 15000}'
高防护(DataDome、PerimeterX)
使用带有多次重试尝试的 proxy endpoint:
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 10,
"request": {
"method": "GET",
"url": "https://heavily-protected.com/prices",
"unblocker": true
}
}'
对于在挑战清除后需要渲染页面的第一梯队 WAF 链(Vercel Security Checkpoint、Cloudflare "Just a moment"、Akamai Bot Manager),请参阅 WAF challenge recipe 以了解链式 proxy → 浏览器模式。
最佳实践
从简单开始,逐步升级。 先尝试单个 endpoint。仅在需要时切换到浏览器或 proxy。
遵守 rate limits。 即使有 proxy 轮换,每秒向单个网站发送数百个 request 也会触发行为检测。请将您的 request 间隔至少 1 到 2 秒。
使用
unblocker。 对于单个和 proxy 请求,启用unblocker以自动注入真实的浏览器 header,而不是手动设置 User-Agent 字符串。监控成功率。 查看 Dashboard 指标以跟踪您随时间推移的成功率。突然下降通常意味着目标网站更新了其防护。
针对困难目标增加
maxTries。 proxy endpoint 默认尝试 5 次,但对于受到重度保护的网站,您最多可以设置 90 次。
FourA 无法绕过的内容
某些场景需要在 API 之外进行额外处理:
- 受登录保护的内容:FourA 不会跨 request 管理会话或 cookie(浏览器 endpoint 支持在每个 request 中设置 cookie)
- 交互式 CAPTCHAs:reCAPTCHA v3 和 hCaptcha 需要第三方破解服务
- 国家/ASN 允许列表:受国家许可限制的网站(在线博彩公司、某些政府服务)仅接受来自少数 ISP 的流量。Proxy 轮换无济于事,您需要不同的数据源。
- 有法律限制的网站:始终确保您的数据收集符合目标网站的服务条款和适用法律
后续步骤
- Choosing the Right Endpoint:endpoints 选择指南
- Common Issues:解决 403 和 captcha 拦截问题
- API Endpoints:完整参数参考
- MCP Recipes:工作流模板,包括 WAF 挑战链