Pular para o conteúdo

Spider Scraper

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.

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

Terminal window
pip install spider-client 'crewai[tools]'

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.

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