不支持原生的 JS 渲染。
穿云 API 的核心职能在于协议层与环境层的突破。它专注于绕过 Cloudflare 的 5 秒盾(JavaScript Challenge)、WAF 防护、Turnstile 人机验证以及 JA3/HTTP2 指纹识别。
API 会为你获取到经过防火墙解密后的原始响应内容(HTML 源码或接口数据)。由于 API 内部不内置无头浏览器(Headless Browser)渲染引擎,因此它不会执行页面加载后的异步 JS 脚本或动态 DOM 渲染。
进阶处理方案
虽然 API 不直接渲染 JS,但你可以通过以下三种成熟的架构方案实现数据采集:
1. 本地轻量化渲染(如你所述)
利用穿云 API 绕过防火墙拦截并获取 HTML 源码后,在本地环境进行处理:
- DOM 解析: 使用
jsdom(Node.js) 或BeautifulSoup(Python) 提取结构化数据。 - 逻辑执行: 若页面关键数据由特定 JS 函数生成,可利用
pyexecjs、QuickJS或Node.js库在本地环境运行该段 JS 代码块。
2. 结合自动化工具(推荐架构)
这是处理复杂动态加载页面的标准工业方案。将穿云提供的代理服务(Proxy)集成到 Playwright、Puppeteer 或 Selenium 等无头浏览器中:
- 分工: 穿云 API/代理负责在底层解决 JA3 指纹模拟与 Cloudflare 验证;本地无头浏览器负责执行 JavaScript 并完成页面渲染。
- 优势: 能够完美还原真实用户的浏览器行为,轻松抓取动态加载的异步数据。
3. 接口直连方案(效率最高)
在绕过 WAF 防护后,通常无需渲染整个页面。建议直接分析网页的 Ajax/JSON 数据接口:
- 通过穿云 API 直接请求这些后台数据接口,获取结构化的纯文本数据。
- 优势: 极大地节省了内存和带宽资源,采集速度提升 5-10 倍。
技术集成建议:
若您的目标页面高度依赖 JS 动态加载,建议参考 穿云 API V2 文档 中的代理设置部分,配合 Playwright 等工具挂载穿云代理使用。