如何程序化检测客户端渲染网站?爬虫内存优化需求
判断网站是客户端渲染还是服务端渲染的实用方法
1. 直接查看页面源代码
右键页面选择「查看页面源代码」,如果能在源码里找到你要爬取的核心内容(比如文章正文、商品名称),那基本就是服务端渲染(SSR)。要是源码里只有空的容器标签(比如<div id="app"></div>),完全看不到目标内容,那就是客户端渲染(CSR)——内容是浏览器加载JS后动态生成的。
2. 禁用JavaScript后刷新页面
在浏览器开发者工具里关掉JS(Chrome可以在DevTools的「设置」→「调试器」里勾选「禁用JavaScript」),刷新页面后:
- 核心内容依然完整显示 → SSR
- 页面空白/只剩框架,目标内容消失 → CSR
3. 观察网络请求
打开浏览器「网络」面板刷新页面:
- SSR的主HTML请求会返回完整的页面内容,后续大多是CSS、JS、图片这类静态资源请求;
- CSR的主HTML请求内容极少,之后会有一堆XHR/fetch请求去拉取数据,再由前端JS渲染到页面上。
4. 看页面加载的直观表现
- SSR页面加载后很快就能看到内容,不会有明显的空白等待;
- CSR页面通常先显示空白或加载动画,等JS加载执行完才会渲染出完整内容。
批量判断的脚本思路
如果要批量处理网站,可以写个简单脚本:
- 用
axios或node-fetch直接请求页面HTML; - 检查HTML里是否包含你要提取的目标内容;
- 存在的话用Cheerio解析,不存在再用Puppeteer处理。
内容的提问来源于stack exchange,提问作者Zullu Balti
相关产品推荐
相关产品推荐

