9 min

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API

了解如何使用 Scrapfly 的统一 API 进行网页抓取、云浏览器自动化和截图捕获。逐步设置、代码示例和实用工作流程。

AAnonymous

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API

Scrapfly 将网页抓取、隐身浏览器控制和截图捕获整合到一个 API 密钥中。无需再为代理、无头浏览器和数据提取分别管理多个服务,您只需发送一个请求,即可获得干净的 HTML、渲染后的截图或实时的 Chrome DevTools 协议(CDP)会话。本指南将介绍核心产品,展示如何发出第一个请求,并解释何时使用每个端点。

Scrapfly 在一个 API 密钥下提供什么

SocialEcho

SocialEcho.

SocialEcho。

在编写代码之前,了解三大支柱会有所帮助。每个支柱解决网页数据管道的不同部分,并且它们共享相同的信用额度和身份验证。

网页抓取 API

抓取端点是获取页面内容的主力。您提供 URL,Scrapfly 在需要时处理轮换代理、TLS 指纹对齐和 JavaScript 渲染。响应包括完整的 HTML、Markdown 版本以及有关抓取会话的元数据。

一个最小的请求如下所示:

curl -X POST "https://api.scrapfly.io/scrape" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "key": "YOUR_API_KEY"
  }'

asp=True 参数启用反机器人绕过,这对于位于 Cloudflare、DataDome 或类似保护后面的网站至关重要。您可以使用 render_js=True 切换 JavaScript 渲染,并根据目标的敏感度在数据中心或住宅代理之间进行选择。

云浏览器(CDP)

对于需要真实交互的工作流程——点击元素、填写表单、滚动无限加载页面——云浏览器为您提供一个隐身 Chromium 实例的 WebSocket 端点。它与 Playwright 和 Puppeteer 完全兼容,因此现有脚本只需进行少量更改即可移植。

使用以下方式连接到浏览器:

wss://browser.scrapfly.io/cdp?key=YOUR_API_KEY

您可以通过查询参数或自动化库中的启动选项指定指纹配置文件、地理出口节点和视口尺寸。这对于需要自主探索页面的 AI 代理特别有用。像 AdsCrawl 这样的平台也提供带有指纹配置文件的云浏览器会话,但 Scrapfly 的 CDP 端点与其反机器人堆栈紧密集成,这可以在目标更新防御时减少维护负担。

截图 API

截图端点捕获整页、视口或元素级别的图像。它支持 PNG、JPEG 和 WebP 格式,并包含自动关闭 Cookie 横幅、广告拦截和自动滚动以触发懒加载内容等便利功能。

一个基本的截图请求使用 GET 调用以简化操作:

https://api.scrapfly.io/screenshot?url=https://example.com&key=YOUR_API_KEY

添加 format=webp 以获得更小的文件大小,options=block_banners 以清理页面,或 auto_scroll=true 以确保所有图像在捕获前加载。响应是图像二进制,成本和剩余信用额度等元数据出现在响应头中。

分步指南:您的第一次抓取

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 驱动云浏览器会话

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 驱动云浏览器会话.

让我们使用 Python 完成一个完整的示例。同样的模式适用于 Node.js、Go 和 Rust 的官方 SDK。

1. 获取您的 API 密钥

在 Scrapfly 网站上注册,即可获得 1,000 个免费信用额度。无需信用卡,免费层级让您可以访问所有产品,以便测试完整的技术栈。

2. 安装 SDK

pip install scrapfly-sdk

3. 发出抓取请求

from scrapfly import ScrapflyClient, ScrapeConfig

client = ScrapflyClient(key="YOUR_API_KEY")

response = client.scrape(
    ScrapeConfig(
        url="https://web-scraping.dev/product/1",
        asp=True,          # 反机器人绕过
        render_js=True,    # 执行 JavaScript
        country="us"       # 住宅代理位置
    )
)

print(response.result.content)  # 完整 HTML
print(response.result.markdown) # 干净的 Markdown
print(response.result.status_code)

4. 查看仪表板

每个请求都会记录在 Scrapfly 仪表板中。您可以重放失败的抓取、检查响应头并监控信用额度消耗。X-Scrapfly-Api-Cost 头告诉您每次调用使用了多少信用额度,失败的绕过不消耗信用额度。

以编程方式截图

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 以编程方式截图

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 以编程方式截图.

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 以编程方式截图。

截图对于视觉回归测试、捕获动态图表或存档页面状态非常有用。以下是如何捕获整页截图并保存到本地:

import requests

url = "https://api.scrapfly.io/screenshot"
params = {
    "url": "https://example.com",
    "key": "YOUR_API_KEY",
    "format": "png",
    "options": "block_banners",
    "auto_scroll": "true"
}

response = requests.get(url, params=params)

if response.status_code == 200:
    with open("screenshot.png", "wb") as f:
        f.write(response.content)

对于特定元素的捕获,您可以通过 selector 参数传递 CSS 选择器。API 会等待元素变为可见后再捕获,这可以优雅地处理动态内容。

驱动云浏览器会话

Automation dashboard and browser workflow illustration

Automation dashboard and browser workflow illustration.

如何使用 Scrapfly:网页抓取 API、云浏览器与截图 API - 驱动云浏览器会话。

当您需要模拟复杂的用户旅程——登录账户、导航多步骤表单或从单页应用中提取数据——云浏览器是正确的工具。使用 Playwright 连接如下:

const { chromium } = require('playwright');

const browser = await chromium.connectOverCDP(
  'wss://browser.scrapfly.io/cdp?key=YOUR_API_KEY'
);

const page = await browser.newPage();
await page.goto('https://example.com');
await page.click('#login-button');
// ... 执行操作 ...

await browser.close();

Scrapfly 管理浏览器基础设施,因此您无需担心 Chrome 崩溃、内存泄漏或 IP 轮换。这类似于 AdsCrawl vs Browserless vs Playwright 比较中强调的托管浏览器服务,但 Scrapfly 内置的反机器人指纹识别使其在受保护目标上更具优势。

为您的任务选择正确的端点

并非每项工作都需要完整的浏览器。使用此决策表来选择最具成本效益的端点:

任务 推荐端点 典型信用成本
获取静态 HTML 网页抓取 API 1 信用
获取 JS 渲染内容 网页抓取 API 与 render_js=True 5 信用
捕获截图 截图 API 60 信用
与页面交互(点击、输入、滚动) 云浏览器(CDP) 因会话时长而异
使用 AI 提取结构化数据 提取 API 因模型而异
抓取整个网站 爬虫 API 每页抓取成本

信用额度随复杂性扩展。数据中心 IP 上的简单 HTTP 请求消耗 1 信用。添加住宅代理会增加倍数,而带有反机器人绕过的整页截图大约消耗 60 信用。由于阻止或服务器错误导致的失败请求是免费的,这使您的预算可预测。

与 AI 代理和自动化工作流集成

自动化仪表板和浏览器工作流插图。

Scrapfly 的 MCP(模型上下文协议)服务器让 AI 助手(如 Claude、ChatGPT 和 Cursor)直接与网页交互。您使用 API 密钥将 MCP 客户端连接到 mcp.scrapfly.io,代理即可抓取、截图、提取和爬取,而无需编写自定义集成代码。

对于自定义 AI 代理管道,云浏览器端点支持自主浏览循环。像 Browser Use 和 Stagehand 这样的工具可以连接到 Scrapfly 的隐身 Chromium 实例,为您的代理提供抵抗检测的真实浏览器环境。如果您正在构建 AI 驱动的数据管道,将浏览器 API 与 ChatGPT 结合 可以将原始网页转化为结构化见解。

管理信用额度和并发

Scrapfly 使用基于信用的计费模型。每个计划都包含所有五个 API,唯一随计划层级扩展的是每月信用额度和并发请求数。免费层级永久提供 1,000 信用,足以进行原型设计和冒烟测试。

关键计费细节:

  • 成功付费:失败的绕过和上游错误不消耗信用。
  • 按需付费溢出:从 Pro 计划开始,您可以以固定的每 10k 费率超出每月配额。
  • 并发限制:免费和发现计划允许 5 个并发请求;企业计划最高可达 100 以上。

通过仪表板或 X-Scrapfly-Remaining-Api-Credit 响应头监控您的使用情况。

相关阅读

来源和进一步阅读

常见问题解答

网页抓取 API 和云浏览器有什么区别?

网页抓取 API 是一个请求-响应端点:您发送 URL 并获取内容。云浏览器为您提供到实时 Chromium 实例的持久 WebSocket 连接,您可以使用 Playwright 或 Puppeteer 控制它。对于简单的获取,使用抓取 API;对于交互式会话,使用云浏览器。

如何绕过反机器人保护?

在抓取配置中设置 asp=True。Scrapfly 自动处理 TLS 指纹、头顺序和 JavaScript 挑战,支持超过 20 个反机器人供应商。无需针对每个目标进行配置。

我可以截取特定页面元素的截图吗?

可以。在截图 API 的 selector 参数中传递 CSS 选择器。引擎会等待元素渲染后再捕获。

当我的信用额度用完时会发生什么?

在免费层级,请求返回 429 状态码。在启用按需付费的付费计划中,额外信用额度按计划的溢出费率计费,因此生产作业不会停止。

云浏览器与我的现有 Playwright 脚本兼容吗?

是的。CDP 端点是一个标准 WebSocket,Playwright 和 Puppeteer 可以原生连接。您只需更改浏览器启动 URL。

结论

Scrapfly 将网页数据堆栈整合到一个 API 密钥中。您无需拼接多个供应商即可获得反机器人绕过、住宅代理、隐身云浏览器和截图引擎。从网页抓取 API 开始进行简单获取,转向截图 API 进行视觉捕获,并在需要真实交互时使用云浏览器。免费层级让您测试每个产品,基于信用的定价意味着您只为成功的请求付费。对于评估托管浏览器基础设施的团队,将 Scrapfly 与替代方案进行比较 可以阐明哪个平台符合您的规模和功能要求。