JavaScript 渲染

如果您想抓取的页面需要加载JavaScript来动态加载所需数据到DOM中,而不是由自己设置和使用无头浏览器,则您可以在请求中包含“X-Oxylabs-Render: html”标头。所有包含此标头的请求将完全渲染,所有数据将被存储在一个HTML文件或PNG屏幕截图中(视所传送参数而定)。

此参数有两个可用值:

  • html(已渲染页面的HTML)

  • png (可保存为PNG的原始字节)

代码示例

curl -k -v -x unblock.oxylabs.io:60000 \
-U user:pass1 "https://ip.oxylabs.io" \
-H "X-Oxylabs-Render: html"

抓取网站的HTML

在这个示例中,我们将渲染YouTube的主页,并抓取页面内容。通常情况下,如果使用了网页解锁器而不使用Javascript渲染,则YouTube的主页样式如下:

如下列示例所示添加"X-Oxylabs-Render: html "标头,将启用Javascript渲染,并返回渲染后的页面的HTML:

curl -k -v -x unblock.oxylabs.io:60000 \
-U user:pass1 "https://youtube.com" \
-H "X-Oxylabs-Render: html"

在浏览器中打开的HTML文件应该如下所示:

获得一个完全渲染的页面的屏幕截图

如需获取PNG格式的截图而不是页面HTML,则需要提供"X-Oxylabs-Render: png "标头。

curl -k -v -x unblock.oxylabs.io:60000 \
-U user:pass1 "https://youtube.com" \
-H "X-Oxylabs-Render: png" >> rendered_page.png

响应将包含一个图像的原始字节,可以保存为PNG格式,并如下方示例打开:

最后更新于