SpiderTool

描述

Spider 是最快的开源刮取器和爬虫,返回 LLM 可用的数据。可以将任何网站转换为纯 HTML、Markdown、元数据或文本,同时使您能够使用 AI 通过自定义操作进行爬取。

安装

要使用 SpiderTool,您还需要下载 Spider SDKcrewai[tools] SDK。

pip install spider-client 'crewai[tools]'

示例

此示例展示了如何使用 SpiderTool 使您的代理能够刮取和爬取网站。从 Spider API 返回的数据已经是 LLM 可用的,因此无需进行任何清理。

代码
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_keystring指定 Spider API 密钥。如果未指定,则在环境变量中查找 SPIDER_API_KEY
paramsobject请求的可选参数。默认为 {"return_format": "markdown"},以优化 LLM 内容。
requeststring要执行的请求类型 (http, chrome, smart)。smart 默认为 HTTP,必要时切换到 JavaScript 渲染。
limitint每个网站要爬取最大页面数。设置为 0 或省略表示无限制。
depthint最大爬取深度。设置为 0 表示无限制。
cachebool启用 HTTP 缓存以加快重复运行。默认为 true
budgetobject为爬取的页面设置基于路径的限制,例如 {"*":1} 表示只爬取根页面。
localestring请求的区域设置,例如 en-US
cookiesstring请求的 HTTP Cookie。
stealthbool为 Chrome 请求启用隐身模式以避免被检测。默认为 true
headersobject作为所有请求的键值对映射的 HTTP 头部。
metadatabool存储关于页面和内容的元数据,有助于 AI 互操作性。默认为 false
viewportobject设置 Chrome 视口尺寸。默认为 800x600
encodingstring指定编码类型,例如 UTF-8, SHIFT_JIS
subdomainsbool爬取时包含子域名。默认为 false
user_agentstring自定义 HTTP 用户代理。默认为随机代理。
store_databool为此请求启用数据存储。设置时会覆盖 storageless。默认为 false
gpt_configobject允许 AI 生成爬取操作,可通过数组为 "prompt" 选择链式步骤。
fingerprintbool为 Chrome 启用高级指纹识别。
storagelessbool阻止所有数据存储,包括 AI 嵌入。默认为 false
readabilitybool通过 Mozilla 的 Readability 预处理内容以供阅读。优化 LLM 内容。
return_formatstring返回数据的格式:markdown, raw, text, html2text。使用 raw 获取默认页面格式。
proxy_enabledbool启用高性能代理以避免网络级阻塞。
query_selectorstring用于从标记中提取内容的 CSS 查询选择器。
full_resourcesbool下载与网站链接的所有资源。
request_timeoutint请求的超时时间(秒,5-60)。默认为 30
run_in_backgroundbool在后台运行请求,有助于数据存储和触发仪表板爬取。如果设置了 storageless 则无效。