SpiderTool
描述
Spider 是最快的开源抓取和爬取工具,能返回适用于大语言模型(LLM-ready)的数据。它可以将任何网站转换为纯 HTML、Markdown、元数据或文本,同时允许您使用 AI 执行自定义爬取操作。安装
要使用SpiderTool,您需要下载 Spider SDK 和 crewai[tools] SDK。
示例
此示例向您展示如何使用SpiderTool 来让您的智能体能够抓取和爬取网站。从 Spider API 返回的数据已经适用于大语言模型(LLM-ready),因此无需进行任何清理。
代码
参数
| 参数 | 类型 | 描述 |
|---|---|---|
| api_key | 字符串 | 指定 Spider API 密钥。如果未指定,它将在环境变量中查找 SPIDER_API_KEY。 |
| params | 对象 | 请求的可选参数。默认为 {"return_format": "markdown"},以优化内容以适应大语言模型(LLM)。 |
| request | 字符串 | 要执行的请求类型(http、chrome、smart)。smart 默认为 HTTP,在需要时切换到 JavaScript 渲染。 |
| limit | int | 每个网站最多爬取的页面数。设置为 0 或省略表示不限制。 |
| depth | int | 最大爬取深度。设置为 0 表示无限制。 |
| cache | bool | 启用 HTTP 缓存以加速重复运行。默认为 true。 |
| budget | 对象 | 为已爬取的页面设置基于路径的限制,例如 {"*":1} 表示仅限根页面。 |
| locale | 字符串 | 请求的区域设置,例如 en-US。 |
| cookies | 字符串 | 请求的 HTTP cookie。 |
| stealth | bool | 为 Chrome 请求启用隐身模式以避免被检测。默认为 true。 |
| headers | 对象 | 作为键值对映射的 HTTP 标头,适用于所有请求。 |
| metadata | bool | 存储有关页面和内容的元数据,有助于 AI 互操作性。默认为 false。 |
| viewport | 对象 | 设置 Chrome 视口尺寸。默认为 800x600。 |
| encoding | 字符串 | 指定编码类型,例如 UTF-8、SHIFT_JIS。 |
| subdomains | bool | 在爬取中包含子域名。默认为 false。 |
| user_agent | 字符串 | 自定义 HTTP 用户代理。默认为随机代理。 |
| store_data | bool | 为请求启用数据存储。设置后将覆盖 storageless。默认为 false。 |
| gpt_config | 对象 | 允许 AI 生成爬取操作,可通过数组为 "prompt" 提供可选的链式步骤。 |
| fingerprint | bool | 为 Chrome 启用高级指纹识别功能。 |
| storageless | bool | 阻止所有数据存储,包括 AI 嵌入。默认为 false。 |
| readability | bool | 通过 Mozilla 的 readability 预处理内容以便阅读。改善内容以适应大语言模型(LLM)。 |
| return_format | 字符串 | 返回数据的格式:markdown、raw、text、html2text。使用 raw 获取默认页面格式。 |
| proxy_enabled | bool | 启用高性能代理以避免网络层面的封锁。 |
| query_selector | 字符串 | 用于从标记中提取内容的 CSS 查询选择器。 |
| full_resources | bool | 下载链接到网站的所有资源。 |
| request_timeout | int | 请求超时秒数(5-60)。默认为 30。 |
| run_in_background | bool | 在后台运行请求,适用于数据存储和触发仪表板爬取。如果设置了 storageless 则无效。 |
