速率限制
octoparse MCP 服务端(https://mcp.bazhuayu.com)具有以下限制:
| 类型 | 说明 |
|---|
| API 请求 | 约 300 次/分钟(所有 MCP 工具合计) |
| 模板搜索 | 计入上述 MCP 请求配额 |
| 任务执行 | 受账户套餐、云采集额度与并发限制 |
| 数据导出 | 受套餐及单次导出记录数限制 |
免费和基础版用户每周通过 MCP 提取可获得 2,000 条免费记录。
响应头
触发限流时返回 HTTP 429 Too Many Requests,响应头可能包含:
| 响应头 | 说明 |
|---|
X-RateLimit-Limit | 当前窗口允许的最大请求数 |
X-RateLimit-Remaining | 当前窗口剩余请求数 |
X-RateLimit-Reset | 配额重置时间(Unix 时间戳) |
客户端应读取 X-RateLimit-Reset 或在收到 429 后使用指数退避,避免持续重试加剧限流。
重试逻辑
当请求因速率限制失败时,MCP 服务端返回 429 Too Many Requests 响应。请实现指数退避重试:
async function callWithRetry(fn, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (err) {
if (err.status === 429 && i < maxRetries - 1) {
const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s
await new Promise((r) => setTimeout(r, delay));
} else {
throw err;
}
}
}
}
最佳实践
- 尽量批量操作 — 将多个操作合并为更少的请求
- 缓存模板结果 —
search_templates 的结果很少变化,可以缓存
- 长任务使用 Webhook — 对于大批量提取,使用异步模式并轮询
- 监控用量 — 追踪每周提取的记录数,保持在限制范围内
另请参阅:MCP 概览、故障排查