高级指南
隐身 抓取技术
通过高级浏览器指纹、IP 轮换、user-agent 伪造和 CAPTCHA 处理策略,绕过反爬虫检测系统。
法律声明: 请始终遵守 robots.txt 和网站服务条款。负责任地使用隐身技术,仅用于合法目的。违反服务条款或抓取受保护内容可能产生法律后果。
1. 使用 stealth_mode 工具
stealth_mode 工具会自动应用反检测技术,包括指纹随机化、WebRTC 伪造和 canvas 噪声。
基础(3 credits)
user-agent 轮换、基础请求头伪造
适用于:低防护站点、简单抓取器
中级(3 credits)
基础 + 指纹随机化、WebRTC 泄漏防护
适用于:大多数商业站点、中等防护
高级(3 credits)
中级 + canvas 噪声、WebGL 伪造、时区随机化
适用于:高防护站点、Cloudflare、Akamai
基础隐身抓取
3 credits
Bash
curl -X POST https://crawlforge.dev/api/v1/tools/stealth_mode \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://protected-site.com",
"level": "medium",
"randomizeFingerprint": true
}'高级:隐身 + 代理 + 自定义请求头
Typescript
const response = await fetch('https://crawlforge.dev/api/v1/tools/stealth_mode', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://highly-protected-site.com',
level: 'advanced',
randomizeFingerprint: true,
proxy: {
server: 'http://proxy.example.com:8080',
username: 'proxy_user',
password: 'proxy_pass'
},
customHeaders: {
'Accept-Language': 'en-US,en;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://google.com',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none'
},
geolocation: {
latitude: 40.7128,
longitude: -74.0060,
accuracy: 100
},
timezone: 'America/New_York',
locale: 'en-US'
}),
});
const data = await response.json();
console.log('Successfully bypassed protection');2. 浏览器指纹
反爬虫系统利用浏览器指纹检测自动化浏览器。随机化指纹以规避检测。
User-Agent
浏览器版本、操作系统、设备类型
Canvas 指纹
独特的渲染签名
WebGL
显卡厂商/渲染器
WebRTC
本地 IP 地址泄漏
屏幕分辨率
显示器尺寸
时区与区域设置
地理位置指示信息
字体
已安装的字体列表
插件
检测到的浏览器扩展
CrawlForge 如何帮助:
stealth_mode 工具会自动随机化所有这些指纹信号,使每次请求看起来都来自一个独特的真实浏览器。3. IP 轮换与代理
使用轮换代理将请求分散到不同的 IP 地址。
- 数据中心代理
- ✅ 快速(50-150ms 延迟)
- ✅ 便宜($1-5/GB)
- ❌ 易被检测
- ❌ 封禁率较高
- 最适合:低防护站点、高并发抓取
- 住宅代理(推荐)
- ✅ 真实用户 IP(难以检测)
- ✅ 封禁率低
- ⚠️ 较慢(200-500ms 延迟)
- ⚠️ 价格较高($5-15/GB)
- 最适合:高防护站点、电商、社交媒体
- 移动代理
- ✅ 成功率最高(4G/5G IP)
- ✅ 几乎无法检测
- ❌ 非常昂贵($50-100/GB)
- ❌ 最慢(300-1000ms 延迟)
- 最适合:极致隐身、高价值目标
IP 轮换策略
Typescript
// Rotating proxy pool
const proxyPool = [
'http://user:pass@proxy1.example.com:8080',
'http://user:pass@proxy2.example.com:8080',
'http://user:pass@proxy3.example.com:8080',
'http://user:pass@proxy4.example.com:8080',
'http://user:pass@proxy5.example.com:8080'
];
let currentProxyIndex = 0;
function getNextProxy() {
const proxy = proxyPool[currentProxyIndex];
currentProxyIndex = (currentProxyIndex + 1) % proxyPool.length;
return proxy;
}
// Scrape with rotating proxies
async function scrapeWithRotatingProxy(url: string) {
const proxy = getNextProxy();
const response = await fetch('https://crawlforge.dev/api/v1/tools/stealth_mode', {
method: 'POST',
headers: {
'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url,
level: 'medium',
proxy: { server: proxy }
}),
});
return await response.json();
}
// Scrape multiple URLs with different proxies
const urls = ['https://example.com/1', 'https://example.com/2', 'https://example.com/3'];
const results = await Promise.all(urls.map(scrapeWithRotatingProxy));4. CAPTCHA 处理
应对 CAPTCHA 挑战的策略。
- 避免触发 CAPTCHA
- 使用隐身模式、轮换 IP、遵守速率限制、添加随机延迟(请求之间间隔 2-5 秒)
- ✅ 最佳策略——预防比破解更容易
- 使用 CAPTCHA 破解服务
- 集成 2Captcha、Anti-Captcha 或 DeathByCaptcha(每 1,000 个 CAPTCHA $1-3)
- ⚠️ 增加成本和延迟(10-30 秒)
- 寻找替代数据源
- 寻找无需 CAPTCHA 的 API、RSS 订阅源、站点地图或合作站点
- ✅ 长期最可靠的解决方案
- 人工介入
- 将 CAPTCHA 挑战排队,交由人工操作员破解
- ❌ 仅适用于低并发抓取
建议: 如果你持续遇到 CAPTCHA,说明抓取过于激进。在求助于 CAPTCHA 破解服务之前,先放慢速度、更频繁地轮换 IP,并使用更高的隐身级别。
最佳实践总结
- 始终从
stealth_mode的 "medium" 级别开始 - 对高防护站点使用住宅代理
- 每 10-20 次请求轮换一次代理
- 在请求之间添加随机延迟(2-5 秒)
- 使地理位置与代理位置匹配(使用
localization工具) - 遵守 robots.txt 和速率限制
- 监控封禁率并据此调整策略
下一步
继续学习更多指南