直接回答:反爬是成本对抗游戏,目标不是“挡住所有爬虫”而是把对方成本抬到高于数据价值。防御分层:边缘层(WAF/IP 信誉库/限速,挡掉最笨的 80%)、协议层(TLS 指纹、HTTP2 指纹、请求头完整性与顺序校验,识别模拟器与库)、行为层(访问序列、停留时长、滑动轨迹的统计模型,区分人与机器)、挑战层(验证码、JS 挑战、Proof-of-Work,抬高单次请求成本)、数据层(关键数据混淆、动态渲染、蜜罐字段)。
展开解析:工程要点:限速要按多维 key(IP、设备指纹、账号、UA 族)并配合令牌桶,单一 IP 限速对代理池无效;行为检测用流式特征(近 5 分钟的请求间隔方差、页面跳转图谱是否符合真实导航),离线规则 + 在线模型结合;验证码是双刃剑(伤真实用户转化),用风险评分分层触发——低风险放行、中风险滑块、高风险拒绝。对抗侧的持续性:指纹会过期(爬虫框架跟进模拟),规则要可热更新并保留灰度与回滚;误杀是最大事故风险(搜索引擎爬虫、合作伙伴 API),白名单加申诉通道必备。合规边界:别在反爬里做侵犯隐私的设备深度采集,公开数据的爬取在很多法域有合法性争议,技术对抗的同时给官方 API/数据合作出口(顺带把恶意爬取转为付费客户)。度量指标:拦截率、误杀率、单请求对抗成本,三项一起看。
追问方向:蜜罐字段怎么设计不伤害 SEO?无头浏览器检测还有哪些信号?
(约 480 字)