JavaScript 渲染
学习如何在 Web Scraper API 中使用 render 参数,以便高效抓取动态页面。
如果您希望抓取的页面需要通过 JavaScript 将所有必要数据动态加载到 DOM 中,您可以在请求中包含一个 render 参数,而不是手动设置和使用无头浏览器。带有此参数的请求将被完全渲染,数据将根据指定的参数存储为 HTML 文件或 PNG 屏幕截图。
HTML
将 render 参数设置为 html 以获取渲染页面的原始输出。
PNG(截图)
将 render 参数设置为 png 以获取渲染页面的 Base64 编码截图。
请求示例
curl --user "user:pass" \
'https://realtime.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
-d '{"source": "universal", "url": "https://www.example.com", "render": "html"}'import requests
from pprint import pprint
# 构建负载。
payload = {
'source': 'universal',
'url': 'https://www.example.com',
'render': 'html',
}
# 获取响应。
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('user', 'pass1'),
json=payload,
)
# 该请求不会返回带有作业状态和结果 URL 的响应,而是返回
# 包含结果的 JSON 响应。
pprint(response.json())JavaScript 渲染抓取页面需要更多时间。如果使用 Realtime 或 Proxy Endpoint 集成方法,请将客户端超时设置为 180 秒。
为确保最低流量消耗,我们的系统在页面渲染期间不会加载不必要的资源。
在特定页面强制渲染
为成功抓取,某些域的特定页面类型由于其动态内容需要渲染。即使用户未明确设置,我们的系统也会自动对这些页面强制渲染。
请注意,渲染的任务比未渲染的任务消耗更多流量。
我们希望用户在抓取以下页面时充分意识到这一点:
这种方法为这些具有挑战性的页面提供了最佳的抓取体验,确保数据准确性和可靠性。
如果您希望禁用渲染,可以通过在请求中添加以下参数来实现:
浏览器指令
使用我们的无头浏览器,您还可以执行各种 浏览器指令 ,例如点击、滚动、输入、等待等。阅读更多:
浏览器指令最后更新于
这有帮助吗?

