SpiderTool

Descrição

Spider é o scraper e crawler de código aberto mais rápido que retorna dados prontos para LLM.
Ele converte qualquer site em HTML puro, markdown, metadados ou texto e permite que você faça crawling com ações personalizadas utilizando IA.

Instalação

Para usar o SpiderTool você precisa baixar o Spider SDK
e também o SDK crewai[tools]:

pip install spider-client 'crewai[tools]'

Exemplo

Este exemplo mostra como você pode usar o SpiderTool para permitir que seu agente faça scraping e crawling de websites.
Os dados retornados pela API do Spider já estão prontos para LLM, então não é necessário fazer nenhuma limpeza adicional.

Code
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()

Argumentos

ArgumentoTipoDescrição
api_keystringEspecifica a chave da API do Spider. Se não for definida, procura por SPIDER_API_KEY nas variáveis de ambiente.
paramsobjectParâmetros opcionais para a requisição. O padrão é {"return_format": "markdown"} para otimizar o conteúdo para LLMs.
requeststringTipo de requisição a ser realizada (http, chrome, smart). smart tem como padrão HTTP, alterando para renderização JavaScript se necessário.
limitintMáximo de páginas a serem rastreadas por site. Defina como 0 ou omita para ilimitado.
depthintProfundidade máxima do crawl. Defina como 0 para sem limite.
cacheboolHabilita cache HTTP para acelerar execuções repetidas. O padrão é true.
budgetobjectDefine limites baseados em caminho para páginas rastreadas, ex.: {"*":1} apenas para a página raiz.
localestringLocalidade da requisição, ex.: en-US.
cookiesstringCookies HTTP para a requisição.
stealthboolHabilita modo furtivo para requisições Chrome para evitar detecção. O padrão é true.
headersobjectHeaders HTTP como um mapa de chave-valor para todas as requisições.
metadataboolArmazena metadados sobre as páginas e conteúdos, auxiliando interoperabilidade com IA. O padrão é false.
viewportobjectDefine as dimensões de viewport do Chrome. O padrão é 800x600.
encodingstringEspecifica o tipo de codificação, ex.: UTF-8, SHIFT_JIS.
subdomainsboolInclui subdomínios no crawl. O padrão é false.
user_agentstringUser agent HTTP personalizado. Padrão é um agente aleatório.
store_databoolHabilita o armazenamento dos dados para a requisição. Sobrescreve storageless quando definido. O padrão é false.
gpt_configobjectPermite à IA gerar ações de crawl, com encadeamento de etapas opcional via array para "prompt".
fingerprintboolHabilita fingerprint avançado para o Chrome.
storagelessboolImpede todo o armazenamento de dados, incluindo embeddings de IA. O padrão é false.
readabilityboolPré-processa conteúdo para leitura via Mozilla’s readability. Melhora o conteúdo para LLMs.
return_formatstringFormato para retorno dos dados: markdown, raw, text, html2text. Use raw para formato padrão da página.
proxy_enabledboolHabilita proxies de alta performance para evitar bloqueios em nível de rede.
query_selectorstringCSS query selector para extração de conteúdo a partir do markup.
full_resourcesboolBaixa todos os recursos vinculados ao site.
request_timeoutintTimeout em segundos para as requisições (5-60). O padrão é 30.
run_in_backgroundboolExecuta a requisição em segundo plano. Útil para armazenamento de dados e acionamento de crawls no dashboard. Não tem efeito se storageless estiver definido.