news 2026/5/22 20:35:04

反爬与绕过反爬技术总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
反爬与绕过反爬技术总结

反爬与反反爬技术总结

做爬虫的人,几乎都会接触“反爬”。

早期的网站反爬其实很简单,很多时候改个User-Agent就能继续抓数据。但这些年随着前端技术、风控系统以及 AI 的发展,现代网站的反爬已经越来越复杂,很多大型网站甚至已经把“反爬”做成了一套完整的风控体系。

本文从实际开发角度,总结一下常见的反爬机制,以及开发中常见的绕过思路。


一、反爬的核心是什么

很多人刚接触爬虫时,会觉得反爬就是“禁止程序访问网站”。

实际上并不是。

网站真正想做的是:

  • 识别异常访问行为
  • 防止数据被批量采集
  • 降低恶意请求对服务器的压力

所以反爬的本质,其实是:

网站判断你是不是“正常用户”

而反反爬,则是:

让程序尽量表现得像真人

现代反爬越来越像风控系统,而不只是简单地拦截请求。


二、最基础的反爬:请求特征检测

最早期的反爬,基本都是围绕 HTTP 请求本身展开的。

1. User-Agent 检测

浏览器访问网站时,会携带:

User-Agent

比如 Chrome:

Mozilla/5.0 Chrome/136.0

而很多初学者直接用:

requests.get(url)

请求头里会暴露:

python-requests

网站很容易识别。

因此最基础的做法,就是伪装浏览器请求头:

headers={"User-Agent":"Mozilla/5.0 ..."}

不过现在大部分网站已经不会只靠这个判断。


2. Cookie 与 Referer 校验

很多网站会检查:

  • 请求是否携带 Cookie
  • Session 是否连续
  • 请求来源是否合法

例如图片防盗链、登录态验证,本质上都是这个思路。

如果请求:

  • 没有 Cookie
  • Referer 异常
  • Session 不连续

就容易被识别。

因此很多爬虫都会使用:

requests.Session()

维护会话状态。


三、限流与 IP 封禁

这是最常见的一类反爬。

真人访问网站时:

  • 有阅读时间
  • 有停顿
  • 不会每秒几十次请求

但程序天然倾向于高频访问。

因此网站通常会:

  • 限制请求频率
  • 返回 429
  • 临时封 IP
  • 拉黑异常 IP 段

尤其很多网站会重点限制:

  • 云服务器 IP
  • 数据中心 IP

因为大量爬虫都部署在云服务器上。


常见绕过方式

1. 降低请求频率

例如:

time.sleep(random.uniform(1,3))

通过随机等待,让行为看起来更自然。


2. 控制并发

使用:

  • asyncio Semaphore
  • 请求队列
  • 限速器

避免瞬时请求过高。


3. 代理池

这是大规模爬虫最常见的方案。

包括:

  • HTTP 代理
  • SOCKS5
  • 动态住宅 IP

本质上是:

让请求来源不断变化

避免单 IP 被封。


四、动态渲染带来的变化

以前很多网站都是服务端渲染。

requests + BeautifulSoup

基本就能完成大部分采集。

但现在大量网站使用:

  • React
  • Vue
  • Next.js

页面数据往往是 JavaScript 动态生成的。

这时你会发现:

requests.get()

拿到的 HTML 基本没内容。


五、浏览器自动化

为了解决 JS 渲染问题,后来开始大量使用浏览器自动化工具。

主流方案包括:

  • Selenium
  • Playwright

其中:

Playwright 官方文档

这几年越来越流行。

因为它本质上是真实浏览器:

  • 页面会真正渲染
  • JS 会执行
  • Cookie 自动维护
  • 行为更接近真人

所以很多复杂网站:

  • requests 已经无法处理
  • 必须使用浏览器自动化

六、现代重点:浏览器指纹

现在很多网站真正重点检测的,其实已经不是请求,而是:

浏览器环境

网站会收集:

  • 分辨率
  • 时区
  • 字体
  • GPU 信息
  • Canvas
  • WebGL
  • 浏览器属性

然后生成所谓的:

浏览器指纹

即使换 IP,也可能被识别成同一个设备。

因此现代反爬已经从:

识别请求

变成了:

识别设备

七、自动化浏览器检测

很多网站会专门检测:

navigator.webdriver

如果为 true,基本就说明:

  • Selenium
  • Playwright
  • Headless 浏览器

除此之外,还会检测:

  • Headless 特征
  • 浏览器行为
  • DevTools 痕迹

常见处理方式

例如:

使用 stealth 插件

隐藏自动化特征。


非 Headless 模式

headless=False

更接近真实浏览器。


修改浏览器环境

包括:

  • 分辨率
  • 时区
  • 字体
  • 语言

核心思路都是:

尽量伪装成真实用户环境

八、行为检测

这是近几年越来越常见的一类反爬。

网站开始关注:

你“像不像真人”

例如会分析:

  • 鼠标轨迹
  • 页面停留时间
  • 滚动行为
  • 点击间隔
  • 输入速度

真人访问网站时:

  • 会停顿
  • 会阅读
  • 会滚动页面
  • 行为随机

而程序通常:

  • 点击极快
  • 没有停顿
  • 行为路径固定

所以很多高级爬虫会开始模拟:

  • 鼠标移动
  • 页面滚动
  • 随机等待

本质上是在模拟真实用户行为。


九、接口加密与前端逆向

很多网站现在已经不会直接暴露真实接口。

请求里经常会出现:

  • sign
  • token
  • timestamp

这些参数通常是前端 JS 动态生成的。

这时仅仅抓包已经不够了,还需要分析前端逻辑。

常见工具包括:

  • 浏览器开发者工具
  • Fiddler
  • Charles
  • mitmproxy

mitmproxy 官方网站

很多时候,真正困难的并不是“发送请求”,而是:

搞清楚参数怎么生成

十、为什么现在反爬越来越难

因为现代网站已经不再单独依赖某一种检测方式。

通常会综合分析:

  • IP
  • 浏览器环境
  • Cookie
  • 访问频率
  • 用户行为
  • 设备特征

很多大型网站甚至已经接入完整风控系统。

例如:

Cloudflare 官方网站

本质上已经不是“防爬虫”,而是在做:

  • 风险识别
  • 异常流量检测
  • 自动化行为分析

十一、总结

反爬和反反爬,本质上是一场持续对抗。

早期爬虫:

requests + BeautifulSoup

基本就能解决问题。

但现在的网站:

  • JS 动态渲染
  • 浏览器指纹
  • 行为分析
  • 风控系统

已经让简单爬虫越来越难生存。

因此现代爬虫技术也逐渐发展成:

  • 浏览器自动化
  • 代理池
  • 行为模拟
  • 分布式采集

未来随着:

  • Agent
  • 自动化网页操作
  • AI 数据采集

的发展,“网页自动化”会越来越像一种综合工程能力,而不只是简单写几个 requests。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 20:28:43

ai短剧生成工具测评:参数控制比生成数量更重要

批量生成不是数量越多越好做过短剧的人都会遇到一个场景:按同一个分镜描述批量生成10段视频,出来的画面质量参差不齐——有的光线跑偏,有的动作变形,有的清晰度骤降。问题不在AI生成能力不足,而在于你设置的参数和当前…

作者头像 李华
网站建设 2026/5/22 20:26:36

DLSS版本切换神器:3分钟掌握游戏性能自由切换的终极方案

DLSS版本切换神器:3分钟掌握游戏性能自由切换的终极方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏卡顿而烦恼吗?还在纠结该用哪个DLSS版本才能获得最佳体验?DLSS Sw…

作者头像 李华
网站建设 2026/5/22 20:25:08

TVA凭什么成为”数字AI“通往”物理AI“的关键桥梁(14)

重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…

作者头像 李华
网站建设 2026/5/22 20:24:44

2026大模型系统化学习路线:从零基础入门到高阶实战

当下人工智能行业已全面进入大模型落地时代,AI Agent、多模态生成、企业知识库问答、轻量化模型部署等技术飞速迭代,成为技术求职、能力进阶的核心赛道。不同于传统编程、算法学习,大模型学习无需从零啃厚重理论,核心遵循先应用、…

作者头像 李华
网站建设 2026/5/22 20:24:17

大模型岗位深度解析:小白程序员转型指南

文章详细解析了大模型领域的不同岗位梯队,从底层架构设计到应用开发,每个岗位的工作内容、新手友好度、优势与避雷点都做了深入分析。文章强调了大模型领域的人才缺口和机遇,建议程序员通过系统学习,掌握基础知识、工具实践和项目…

作者头像 李华