跳转到主要内容

SpiderTool

描述

Spider最快的开源抓取和爬取工具,能返回适用于大语言模型(LLM-ready)的数据。它可以将任何网站转换为纯 HTML、Markdown、元数据或文本,同时允许您使用 AI 执行自定义爬取操作。

安装

要使用 SpiderTool,您需要下载 Spider SDKcrewai[tools] SDK。
pip install spider-client 'crewai[tools]'

示例

此示例向您展示如何使用 SpiderTool 来让您的智能体能够抓取和爬取网站。从 Spider API 返回的数据已经适用于大语言模型(LLM-ready),因此无需进行任何清理。
代码
from crewai_tools import SpiderTool

def main():
    spider_tool = SpiderTool()

    searcher = Agent(
        role="Web Research Expert",
        goal="Find related information from specific URL's",
        backstory="An expert web researcher that uses the web extremely well",
        tools=[spider_tool],
        verbose=True,
    )

    return_metadata = Task(
        description="Scrape https://spider.cloud with a limit of 1 and enable metadata",
        expected_output="Metadata and 10 word summary of spider.cloud",
        agent=searcher
    )

    crew = Crew(
        agents=[searcher],
        tasks=[
            return_metadata,
        ],
        verbose=2
    )

    crew.kickoff()

if __name__ == "__main__":
    main()

参数

参数类型描述
api_key字符串指定 Spider API 密钥。如果未指定,它将在环境变量中查找 SPIDER_API_KEY
params对象请求的可选参数。默认为 {"return_format": "markdown"},以优化内容以适应大语言模型(LLM)。
request字符串要执行的请求类型(httpchromesmart)。smart 默认为 HTTP,在需要时切换到 JavaScript 渲染。
limitint每个网站最多爬取的页面数。设置为 0 或省略表示不限制。
depthint最大爬取深度。设置为 0 表示无限制。
cachebool启用 HTTP 缓存以加速重复运行。默认为 true
budget对象为已爬取的页面设置基于路径的限制,例如 {"*":1} 表示仅限根页面。
locale字符串请求的区域设置,例如 en-US
cookies字符串请求的 HTTP cookie。
stealthbool为 Chrome 请求启用隐身模式以避免被检测。默认为 true
headers对象作为键值对映射的 HTTP 标头,适用于所有请求。
metadatabool存储有关页面和内容的元数据,有助于 AI 互操作性。默认为 false
viewport对象设置 Chrome 视口尺寸。默认为 800x600
encoding字符串指定编码类型,例如 UTF-8SHIFT_JIS
subdomainsbool在爬取中包含子域名。默认为 false
user_agent字符串自定义 HTTP 用户代理。默认为随机代理。
store_databool为请求启用数据存储。设置后将覆盖 storageless。默认为 false
gpt_config对象允许 AI 生成爬取操作,可通过数组为 "prompt" 提供可选的链式步骤。
fingerprintbool为 Chrome 启用高级指纹识别功能。
storagelessbool阻止所有数据存储,包括 AI 嵌入。默认为 false
readabilitybool通过 Mozilla 的 readability 预处理内容以便阅读。改善内容以适应大语言模型(LLM)。
return_format字符串返回数据的格式:markdownrawtexthtml2text。使用 raw 获取默认页面格式。
proxy_enabledbool启用高性能代理以避免网络层面的封锁。
query_selector字符串用于从标记中提取内容的 CSS 查询选择器。
full_resourcesbool下载链接到网站的所有资源。
request_timeoutint请求超时秒数(5-60)。默认为 30
run_in_backgroundbool在后台运行请求,适用于数据存储和触发仪表板爬取。如果设置了 storageless 则无效。