处理反爬虫防护

现代网站使用先进的机器人检测技术。本指南将介绍 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 → 浏览器模式。

最佳实践

  1. 从简单开始,逐步升级。 先尝试单个 endpoint。仅在需要时切换到浏览器或 proxy。

  2. 遵守 rate limits。 即使有 proxy 轮换,每秒向单个网站发送数百个 request 也会触发行为检测。请将您的 request 间隔至少 1 到 2 秒。

  3. 使用 unblocker 对于单个和 proxy 请求,启用 unblocker 以自动注入真实的浏览器 header,而不是手动设置 User-Agent 字符串。

  4. 监控成功率。 查看 Dashboard 指标以跟踪您随时间推移的成功率。突然下降通常意味着目标网站更新了其防护。

  5. 针对困难目标增加 maxTries proxy endpoint 默认尝试 5 次,但对于受到重度保护的网站,您最多可以设置 90 次。

FourA 无法绕过的内容

某些场景需要在 API 之外进行额外处理:

  • 受登录保护的内容:FourA 不会跨 request 管理会话或 cookie(浏览器 endpoint 支持在每个 request 中设置 cookie)
  • 交互式 CAPTCHAs:reCAPTCHA v3 和 hCaptcha 需要第三方破解服务
  • 国家/ASN 允许列表:受国家许可限制的网站(在线博彩公司、某些政府服务)仅接受来自少数 ISP 的流量。Proxy 轮换无济于事,您需要不同的数据源。
  • 有法律限制的网站:始终确保您的数据收集符合目标网站的服务条款和适用法律

后续步骤

更新于: 2026年5月20日