8 min

Scrapfly API 指南:网页抓取、浏览器与截图

学习使用 Scrapfly 的网页抓取 API、云浏览器和截图 API,包含分步 cURL 和 Python 示例。还包括 AdsCrawl 替代方案。

AAnonymous

Scrapfly API 指南:网页抓取、浏览器与截图

Scrapfly 将完整的数据平台打包进一个 API 密钥:反机器人绕过、基于 CDP 的隐身 Chromium、住宅代理、截图和结构化提取。无论你需要原始 HTML、实时浏览器会话,还是清晰的全页截图,该平台都将整个技术栈简化为一次调用。本指南将带你了解三个核心功能——网页抓取 API、云浏览器(CDP)和截图 API,并提供真实的 cURL 示例,以及像 AdsCrawl 这样的替代方案如何融入其中。

什么是 Scrapfly?

Scrapfly 是一个网页数据采集平台,负责处理大规模抓取背后的繁重工作。你无需修补无头浏览器、管理代理池或应对机器人检测,只需发送一个 HTTP 请求。响应会返回渲染后的页面内容、反机器人状态、代理详情以及可选的截图。该平台拥有自己的隐身引擎(用于 HTTP 的 Curlium 和用于 Chromium 的 Scrapium)、全球代理网络,以及基于积分的计费模式,其中失败的绕过尝试不会消耗积分。

该平台通过一个 API 密钥提供七个产品:网页抓取 API、云浏览器、截图 API、提取 API、爬虫 API、AI 浏览器代理和 MCP 服务器。我们重点关注前三个。

Scrapfly 快速入门

  1. scrapfly.io 注册并获取你的 API 密钥。
  2. 所有端点都位于 https://api.scrapfly.io/ 下。认证是一个简单的 key 参数。
  3. 使用量以积分跟踪。失败的反机器人绕过是免费的;成功的请求根据目标复杂度消耗积分。

对于下面的任何调用,请将 __API_KEY__ 替换为你的实际密钥。

网页抓取 API 教程

/scrape 端点是最常用的。它获取一个 URL,可选地执行 JavaScript,并返回最终的 HTML。

基本 cURL 请求

curl -G \
  --url "https://api.scrapfly.io/scrape" \
  --data-urlencode "key=__API_KEY__" \
  --data-urlencode "url=https://httpbin.org/html" \
  --data-urlencode "render_js=false"

典型 JSON 响应(已截断)

{
  "success": true,
  "result": {
    "status_code": 200,
    "duration": 1.24,
    "antibot": "bypassed",
    "proxy": "residential/us",
    "browser": "chrome/148",
    "content": "<!doctype html><html>..."
  }
}

你经常使用的关键参数:

  • render_js=true – 在页面上执行 JavaScript(对于 SPA 是必需的)。
  • country=us – 强制代理在特定国家退出。
  • format=markdown – 返回 Markdown 而不是原始 HTML。

反机器人绕过是自动的:无需按站点配置。如果请求成功,antibot 字段将显示为 "bypassed"。如果失败,响应会告诉你,并且你不会被收费。

提取干净的数据

对于结构化数据,将抓取调用与提取 API 配对,或使用内置模板。本指南侧重于原始 API;Scrapfly 文档 中介绍了使用提示和 JSON 模式的 LLM 驱动提取。

云浏览器(CDP)概述

当你需要完全控制浏览器时,Scrapfly 通过 Chrome DevTools 协议提供真实的 Chromium 实例。你可以通过 WebSocket 连接,并像本地 Playwright 或 Puppeteer 会话一样驱动它——但它运行在 Scrapfly 的基础设施上,带有隐身补丁和住宅 IP。

# WebSocket 端点
wss://browser.scrapfly.io/cdp?key=__API_KEY__

你可以使用此端点启动 Playwright 或 Puppeteer。例如,使用 Playwright:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("wss://browser.scrapfly.io/cdp?key=__API_KEY__")
    page = browser.new_page()
    page.goto("https://example.com")
    print(page.title())

云浏览器非常适合需要点击、输入或等待复杂用户交互后再捕获数据的场景。与抓取端点不同,你可以保留完整的会话控制。如果你需要类似的真实浏览器 CDP 会话,并带有免费增值模式和指纹配置文件,AdsCrawl 提供了一个统一的 API,用于截图、HTML/Markdown 提取和 CDP 控制——在评估云浏览器产品时值得考虑。

截图 API 教程

Scrapfly 提供两种截图方式:

  1. 专用截图 API – 最简单的方法,完全由 GET 参数驱动。
  2. 通过网页抓取 API 截图 – 将截图捕获附加到抓取请求中,以获得高级控制(CSS 选择器、标志)。

选项 1:独立截图 API

一个最小的调用:

curl "https://api.scrapfly.io/screenshot?url=https://example.com&key=__API_KEY__" -o screenshot.png

有用的参数:

  • format=jpg|png|webp|gif – 选择输出格式。
  • auto_scroll – 滚动到底部以触发懒加载内容。
  • options=block_banners – 隐藏 cookie 弹窗和广告。
  • js – 在截图前执行自定义 JavaScript。

带有自动滚动和横幅阻止的示例:

curl -G \
  --url "https://api.scrapfly.io/screenshot" \
  --data-urlencode "key=__API_KEY__" \
  --data-urlencode "url=https://web-scraping.dev/product/1" \
  --data-urlencode "auto_scroll=true" \
  --data-urlencode "options=block_banners" \
  --data-urlencode "format=png" \
  -o product.png

选项 2:在抓取请求中截图

当你需要捕获特定元素或将截图与抓取内容结合时,请在 /scrape 端点上使用 screenshots 参数(需要 render_js=true)。官方文档 Scrapfly 截图功能 详细介绍了这些标志。

全页 + CSS 选择器:

curl -G \
  --url "https://api.scrapfly.io/scrape" \
  --data-urlencode "render_js=true" \
  --data-urlencode "url=https://web-scraping.dev/product/1" \
  --data-urlencode "screenshots[all]=fullpage" \
  --data-urlencode "screenshots[reviews]=.reviews" \
  --data-urlencode "screenshot_flags=load_images,block_banners,high_quality" \
  --data-urlencode "key=__API_KEY__"

响应 JSON 将包含 result.screenshots,其中包含可下载的 URL(附加 ?key=__API_KEY__ 以检索它们)。

截图标志

  • load_images – 渲染图像(按带宽计费)。
  • dark_mode – 强制深色配色方案。
  • block_banners – 关闭 cookie 横幅和覆盖层。
  • high_quality – 跳过压缩。
  • print_media_format – 以打印格式渲染。

请参阅 截图 API 入门 获取完整参数列表和计费详情。

考虑替代方案?AdsCrawl 如何比较

虽然 Scrapfly 提供了一个精致的一体化抓取平台,但一些团队在寻找不同的定价模式或更深入的 CDP 访问。AdsCrawl 就是这样一个替代方案。它通过统一的 API 提供真实的浏览器功能:捕获截图、提取干净的 HTML 和 Markdown,以及控制远程 Chrome DevTools 协议会话——专为 AI 代理、监控和自动化工作流而构建。凭借支持指纹配置文件并发执行的云浏览器会话,AdsCrawl 使用基于积分的模式,并提供免费增值层级,让你无需承诺即可测试。

如果你需要一个能直接控制 CDP、允许并发浏览器运行,并为团队调试提供使用仪表板的平台,AdsCrawl 可以作为 Scrapfly 的有力补充或替代方案。阅读我们的 AdsCrawl 教程 获取分步示例,并查看 2026 年十大浏览器自动化和数据提取 API 平台 了解这两个工具在 2026 年的地位。

相关阅读

常见问题解答

Scrapfly 的费用是多少?

Scrapfly 使用积分系统。你可以购买月度套餐或按需付费积分。失败的反机器人绕过不消耗积分;成功的请求根据目标复杂度计费。有 1,000 积分的免费试用,无需信用卡。

我可以将 Scrapfly 用于 AI 代理吗?

可以。AI 浏览器代理端点提供与 Browser Use、Stagehand 和 Vibium 兼容的隐身 Chromium 会话。MCP 服务器允许你连接 Claude、Cursor 和其他 MCP 客户端来抓取、截图和提取数据。

截图下载链接的有效期是多久?

可用性取决于你的日志保留策略,从一周开始。请检查你的仪表板设置。

为什么有些截图看起来与真实浏览器不同?

Scrapfly 的浏览器针对抓取进行了优化;它们可能默认跳过图像加载或以不同方式渲染字体。启用 load_imageshigh_quality 标志可以接近正常浏览器,但请注意视觉效果仍可能有所不同。

是否有与 Scrapfly 功能相似的替代方案?

有,AdsCrawl 提供类似的云浏览器、截图和提取 API,并具有免费增值模式和原生 CDP 控制。如果你需要在浏览器会话管理方面获得更多灵活性或不同的定价结构,值得探索。

结论

Scrapfly 抽象了现代网页抓取的复杂性:一个 API 密钥即可获得隐身 HTTP 客户端、基于 CDP 的无头 Chromium 和高效的截图引擎。上面的示例让你在几分钟内从零开始实现功能调用。无论你坚持使用 Scrapfly 还是评估像 AdsCrawl 这样的替代方案,理解核心模式——抓取、浏览器、截图——都将加速你的数据提取项目。