中级指南
批量 处理指南
通过高效的队列管理、错误恢复和性能优化策略,将网页抓取扩展到数千个 URL。
1. 使用 batch_scrape 工具
batch_scrape 工具最多可并发处理 50 个 URL,内置速率限制和 webhook 通知。
基础批量抓取
每个 URL 1 credit(50 个 URL = 50 credits)
Bash
结合 Webhook 的异步处理
适合大批量任务(100+ URL)——完成时获得通知
Typescript
2. 队列管理
通过将数千个 URL 切分成多个批次并管理队列来处理它们。
切分策略
将大型 URL 列表拆分成可管理的批次
Typescript
专业提示: 使用 Redis 或数据库来存储你的队列。这样在脚本崩溃或需要重启时,你可以恢复处理。
3. 错误恢复
通过重试逻辑和错误追踪优雅地处理失败。
健壮的错误处理
Typescript
4. 性能优化
通过这些优化策略,最大化吞吐量并最小化成本。
优化并发数
从
maxConcurrency: 5 开始,Professional/Business 套餐可提高到 10使用 onlyMainContent
设置
onlyMainContent: true 可将响应体积减少 60-80%选择最简格式
使用
formats: ["markdown"] 而非多种格式(html、text、screenshot)缓存结果
将抓取的数据存储在 Redis/数据库中,避免重复抓取相同的 URL
避免过度批处理
每批次不要超过 50 个 URL——应拆分成多个请求
不要忽视速率限制
遵守你所在套餐的速率限制(Free:5/s,Hobby:10/s,Pro:50/s,Business:100/s)
预期性能
| 场景 | 时间 | 设置 |
|---|---|---|
| 小批量(10 个 URL) | 约 5 秒 | maxConcurrency: 5 |
| 中批量(50 个 URL) | 约 15 秒 | maxConcurrency: 10 |
| 大批量(500 个 URL) | 约 3 分钟 | 10 批 × 50 个 URL |
| 超大批量(5,000 个 URL) | 约 30 分钟 | 100 批 × 50 个 URL |
下一步
继续学习更多高级指南