Skip to main content

批量抓取多个 URL

现在你可以同时批量抓取多个 URL。该方法以起始 URL 和可选参数作为入参。通过 params 参数,你可以为批量抓取任务指定其他选项,例如输出 formats。

工作原理

它与 /crawl 端点的工作方式非常相似。你可以启动批处理并等待其完成,或先启动再自行处理完成流程。
  • batchScrape(JS)/ batch_scrape(Python):启动批处理作业并等待完成,返回结果。
  • startBatchScrape(JS)/ start_batch_scrape(Python):启动批处理作业并返回作业 ID,便于你轮询或使用 webhooks。

并发

默认情况下,批量抓取作业会使用你团队的全部浏览器并发上限(参见 Rate Limits)。你可以通过 maxConcurrency 参数为每个作业降低并发数——例如,maxConcurrency: 50 会将该作业限制为最多 50 个同时抓取。对于大批量作业,如果将这个值设得过低,会显著减慢处理速度,因此只有在你需要为其他并发作业预留容量时才应降低它。

使用方法

响应

调用 batchScrape/batch_scrape 会在批处理完成后返回完整结果。
已完成
调用 startBatchScrape/start_batch_scrape 会返回一个作业 ID。你可以通过 getBatchScrapeStatus/get_batch_scrape_status、API 端点 /batch/scrape/{id},或 webhooks 来跟踪进度。作业结果在完成后会通过 API 保留 24 小时。在此之后,你仍然可以在活动日志中查看批量抓取历史和结果。

批量抓取并进行结构化提取

你也可以使用批量抓取端点从页面中提取结构化数据。如果你想从一组 URL 中获取相同的结构化数据,这将非常有用。

响应

batchScrape/batch_scrape 返回完整结果:
已完成
startBatchScrape/start_batch_scrape 返回任务 ID:

使用 Webhook 进行批量抓取

你可以配置 Webhook,在批次中的每个 URL 被抓取时接收实时通知。这样你可以立即处理结果,而无需等待整个批次完成。
cURL

快速参考

事件类型:
  • batch_scrape.started - 批量抓取开始时
  • batch_scrape.page - 每个 URL 成功抓取时
  • batch_scrape.completed - 所有 URL 处理完成时
  • batch_scrape.failed - 批量抓取出现错误时
基本载荷:

安全性:验证 Webhook 签名

来自 Firecrawl 的每个 webhook 请求都会包含一个 X-Firecrawl-Signature 请求头,其中包含一个 HMAC-SHA256 签名。务必始终验证该签名,以确保 webhook 是真实的且未被篡改。 工作原理:
  1. 在你账号设置中的 Advanced 选项卡 获取你的 webhook secret
  2. X-Firecrawl-Signature 请求头中提取签名
  3. 使用你的 secret 对原始请求体计算 HMAC-SHA256
  4. 使用时间安全(timing-safe)的比较函数将其与签名请求头的值进行比较
切勿在未先验证签名的情况下处理 webhook。X-Firecrawl-Signature 请求头中的签名格式为:sha256=abc123def456...
如需查看 JavaScript 和 Python 的完整实现示例,请参阅 Webhook 安全文档

完整文档

有关完整的 Webhook 文档(包括详细的事件载荷、高级配置和故障排查),请参阅Webhook 文档