功能
该集成提供了 4 个强大的 API 用于自动化网页数据提取:抓取网站
从任何单一 URL 提取内容,支持多种格式(Markdown、HTML、JSON、文本)
批量抓取 URL
并行处理多达 100,000 个 URL。非常适合大规模数据提取
创建爬取
自主发现并抓取整个网站,通过跟随链接实现
创建地图
从网站中提取所有 URL,以进行网站结构分析和内容发现
安装
设置
1. 安装软件包
2. 导入和注册集成
在你的 Mastra 配置文件中:3. 配置 API 密钥
将你的 Olostep API 密钥设置为环境变量:.env 文件中:
可用 API
该集成公开了 4 个 API,供你的 Mastra 代理使用:scrapeWebsite
从单一 URL 提取内容。支持多种格式和 JavaScript 渲染。 使用场景:- 监控特定页面的变化
- 从电商网站提取产品信息
- 收集新闻文章或博客文章的数据
- 提取内容用于内容聚合
你的 Olostep API 密钥
要抓取的网站 URL(必须包含 http:// 或 https://)
输出格式:[‘html’, ‘markdown’, ‘json’, ‘text’]
位置特定内容的国家代码(例如,“US”、“GB”、“CA”)
JavaScript 渲染的等待时间(0-10000 毫秒)
专用提取的可选解析器 ID(例如,“@olostep/amazon-product”)
id- 抓取 IDurl_to_scrape- 抓取的 URLresult.markdown_content- Markdown 内容result.html_content- HTML 内容result.json_content- JSON 内容result.text_content- 文本内容result.screenshot_hosted_url- 截图 URL(如果可用)result.markdown_hosted_url- 托管的 markdown URLobject- 对象类型(“scrape”)created- Unix 时间戳
batchScrape
并行处理多个 URL(一次最多 100,000 个)。非常适合大规模数据提取。 使用场景:- 抓取整个产品目录
- 从多个搜索结果中提取数据
- 处理电子表格中的 URL 列表
- 批量内容提取
你的 Olostep API 密钥
包含
url 和可选 custom_id 字段的对象数组示例:[{"url":"https://example.com","custom_id":"site1"}]所有 URL 的输出格式
位置特定抓取的国家代码
JavaScript 渲染的等待时间
专用提取的可选解析器 ID
batch_id- 批次 ID(用于稍后检索结果)status- 处理状态object- 对象类型(“batch”)
createCrawl
通过跟随链接自主发现并抓取整个网站。非常适合文档网站、博客和内容库。 使用场景:- 爬取并存档整个文档网站
- 从网站中提取所有博客文章
- 从网络内容中构建知识库
- 监控网站结构变化
你的 Olostep API 密钥
爬取的起始 URL(必须包含 http:// 或 https://)
要爬取的最大页面数
是否跟随页面上的链接
抓取内容的格式
位置特定爬取的可选国家代码
专用内容提取的可选解析器 ID
id- 爬取 ID(用于稍后检索结果)object- 对象类型(“crawl”)status- 爬取状态created- Unix 时间戳
createMap
从网站中提取所有 URL,以进行内容发现和网站结构分析。 使用场景:- 构建网站地图和网站结构图
- 在批量抓取前发现所有页面
- 查找损坏或缺失的页面
- SEO 审核和分析
你的 Olostep API 密钥
要提取链接的网站 URL(必须包含 http:// 或 https://)
用于过滤 URL 的可选搜索查询(例如,“blog”)
限制返回的 URL 数量
包含特定路径的 Glob 模式(例如,[“/blog/**”])
排除特定路径的 Glob 模式(例如,[“/admin/**”])
id- 地图 IDobject- 对象类型(“map”)url- 网站 URLtotal_urls- 发现的 URL 总数urls- 发现的 URL 数组
与代理一起使用
基本代理示例
创建一个可以抓取网站的代理:代理工作流示例
构建一个发现和抓取内容的研究工作流:常见使用场景
研究代理
构建一个可以自主研究主题的代理:多来源研究
多来源研究
工作流:
- 用户询问:“研究 AI 趋势”
- 代理使用
createMap发现相关页面 - 代理使用
batchScrape提取内容 - 代理分析并总结发现
- 返回结构化研究报告
竞争对手监控
竞争对手监控
工作流:
- 安排每日监控
- 使用
scrapeWebsite检查竞争对手页面 - 与之前的数据进行比较
- 对重大变化发出警报
- 生成每周报告
内容聚合
内容聚合
工作流:
- 使用
createCrawl发现所有博客文章 - 使用
batchScrape提取内容 - 使用 AI 提取关键主题
- 存储在知识库中
- 生成内容日历
电商情报
监控产品和价格:SEO 分析
分析网站结构和内容:专用解析器
Olostep 提供了针对热门网站的预构建解析器。使用parser 参数使用它们:
Google 搜索
@olostep/google-search提取:搜索结果、标题、摘要、URLGoogle 地图
@olostep/google-maps提取:商家信息、评论、评分、位置使用解析器
将解析器 ID 添加到parser 参数中:
最佳实践
使用批量处理多个 URL
使用批量处理多个 URL
当抓取超过 3-5 个 URL 时,使用
batchScrape 而不是多个 scrapeWebsite 调用。批量处理是:- 更快(并行处理)
- 更具成本效益
- 更易于管理
- 更适合速率限制
设置适当的等待时间
设置适当的等待时间
对于 JavaScript 密集型网站,使用
wait_before_scraping 参数:- 简单网站:0-1000 毫秒
- 动态网站:2000-3000 毫秒
- 重 JavaScript:5000-8000 毫秒
使用专用解析器
使用专用解析器
对于热门网站(亚马逊、LinkedIn、Google),使用预构建解析器:
- 自动获取结构化数据
- 更可靠的提取
- 无需自定义解析
- 由 Olostep 维护
处理异步操作
处理异步操作
批量、爬取和映射操作是异步的:
- 存储返回的 ID(batch_id、crawl_id、map_id)
- 轮询完成或使用 webhook
- 为检索设置单独的工作流
错误处理
错误处理
始终将 API 调用包装在 try-catch 块中:
速率限制
速率限制
注意速率限制:
- 使用延迟间隔请求
- 尽可能使用批量处理
- 在 Olostep 仪表板中监控使用情况
- 如有需要,升级计划
完整示例
这是一个构建研究代理的完整示例:故障排除
身份验证失败
身份验证失败
API 未找到
API 未找到
错误:“未找到 API”或“未注册集成”解决方案:
- 确保在创建集成后调用
registerApis() - 验证集成是否添加到 Mastra 配置中
- 检查集成名称是否为 ‘olostep’
- 在更改后重启 Mastra 服务器
抓取返回空内容
抓取返回空内容
错误:内容字段为空解决方案:
- 增加
wait_before_scraping时间 - 检查网站是否需要登录
- 尝试不同的格式(HTML 与 Markdown)
- 验证 URL 是否可访问
- 检查网站是否阻止自动访问
超出速率限制
超出速率限制
错误:“超出速率限制”解决方案:
- 使用延迟间隔请求
- 使用批量处理而不是单个抓取
- 升级你的 Olostep 计划
- 在仪表板中检查速率限制
TypeScript 错误
TypeScript 错误
错误:模块未找到或类型错误解决方案:
- 确保安装了
@mastra/core - 检查 TypeScript 版本兼容性
- 验证所有依赖项是否已安装
- 重建:
npm run build
定价
Olostep 根据 API 使用情况收费,与 Mastra 独立:- 抓取:按抓取收费
- 批次:按批次中的 URL 收费
- 爬取:按爬取的页面收费
- 地图:按地图操作收费
支持
需要 Mastra 集成的帮助?相关资源
抓取 API
了解抓取端点
批次 API
了解批次端点
爬取 API
了解爬取端点
地图 API
了解地图端点
Zapier 集成
使用 Zapier 工作流自动化
LangChain 集成
使用 LangChain 构建 AI 代理
Mastra 网站
Mastra 平台
开始使用
准备好构建具备网页抓取能力的 AI 代理了吗?安装软件包
从 npm 安装 @olostep/mastra-tools