Tools
Spider Scraper
SpiderTool은 Spider를 사용해 지정된 웹사이트의 콘텐츠를 추출하고 읽도록 설계되었다.
SpiderTool
설명
Spider는 가장 빠른 오픈 소스 스크래퍼이자 크롤러로, LLM(대형 언어 모델)에 바로 사용할 수 있는 데이터를 제공한다. 이 도구는 어떤 웹사이트든 순수한 HTML, 마크다운, 메타데이터 또는 텍스트로 변환하며, AI를 활용해 커스텀 액션으로 크롤링할 수 있는 기능을 제공한다.
설치
SpiderTool
을 사용하려면 Spider SDK와 crewai[tools]
SDK를 다운로드해야 한다:
예제
이 예제는 SpiderTool
을 사용해 에이전트가 웹사이트를 스크랩하고 크롤링할 수 있도록 설정하는 방법을 보여준다. Spider API에서 반환된 데이터는 이미 LLM에서 바로 사용할 수 있도록 준비되어 있으므로 추가적인 정제 작업이 필요하지 않다.
인자
인자 | 타입 | 설명 |
---|---|---|
api_key | string | Spider API 키를 지정한다. 지정하지 않으면 환경 변수에서 SPIDER_API_KEY 를 찾는다. |
params | object | 요청에 대한 선택적 매개변수. 기본값은 {"return_format": "markdown"} 로, LLM에 최적화된 콘텐츠를 반환한다. |
request | string | 수행할 요청 타입 (http , chrome , smart ). smart 는 기본적으로 HTTP를 사용하며, 필요한 경우 JavaScript 렌더링으로 전환한다. |
limit | int | 웹사이트당 최대 크롤링 페이지 수. 0 으로 설정하거나 생략하면 제한 없이 크롤링한다. |
depth | int | 최대 크롤링 깊이. 0 으로 설정하면 제한 없이 크롤링한다. |
cache | bool | HTTP 캐싱을 활성화해 반복 실행 속도를 높인다. 기본값은 true 이다. |
budget | object | 크롤링 페이지에 대한 경로 기반 제한을 설정한다. 예를 들어 {"*":1} 은 루트 페이지만 크롤링한다. |
locale | string | 요청에 대한 로케일을 지정한다. 예: en-US . |
cookies | string | 요청에 사용할 HTTP 쿠키를 지정한다. |
stealth | bool | Chrome 요청에 대해 탐지를 피하기 위해 스텔스 모드를 활성화한다. 기본값은 true 이다. |
headers | object | 모든 요청에 대한 HTTP 헤더를 키-값 쌍의 맵으로 지정한다. |
metadata | bool | 페이지와 콘텐츠에 대한 메타데이터를 저장해 AI 상호 운용성을 높인다. 기본값은 false 이다. |
viewport | object | Chrome 뷰포트의 크기를 설정한다. 기본값은 800x600 이다. |
encoding | string | 인코딩 타입을 지정한다. 예: UTF-8 , SHIFT_JIS . |
subdomains | bool | 크롤링에 서브도메인을 포함시킨다. 기본값은 false 이다. |
user_agent | string | 커스텀 HTTP 사용자 에이전트를 지정한다. 기본값은 랜덤 에이전트이다. |
store_data | bool | 요청에 대한 데이터 저장을 활성화한다. storageless 가 설정된 경우 이를 재정의한다. 기본값은 false 이다. |
gpt_config | object | AI가 크롤링 액션을 생성하도록 허용하며, "prompt" 에 대한 배열을 통해 선택적 체이닝 단계를 설정할 수 있다. |
fingerprint | bool | Chrome에 대한 고급 지문 인식을 활성화한다. |
storageless | bool | AI 임베딩을 포함한 모든 데이터 저장을 방지한다. 기본값은 false 이다. |
readability | bool | Mozilla의 readability를 통해 콘텐츠를 사전 처리해 읽기 쉽게 만든다. LLM에 적합한 콘텐츠를 제공한다. |
return_format | string | 데이터 반환 형식을 지정한다: markdown , raw , text , html2text . 기본 페이지 형식을 원한다면 raw 를 사용한다. |
proxy_enabled | bool | 네트워크 수준의 차단을 피하기 위해 고성능 프록시를 활성화한다. |
query_selector | string | 마크업에서 콘텐츠를 추출하기 위한 CSS 쿼리 선택자를 지정한다. |
full_resources | bool | 웹사이트에 연결된 모든 리소스를 다운로드한다. |
request_timeout | int | 요청에 대한 타임아웃을 초 단위로 설정한다 (5-60). 기본값은 30 이다. |
run_in_background | bool | 요청을 백그라운드에서 실행한다. 데이터 저장 및 대시보드 크롤링 트리거에 유용하다. storageless 가 설정된 경우 효과가 없다. |