FirecrawlCrawlWebsiteTool

설명

Firecrawl은 웹사이트를 크롤링하여 깔끔한 마크다운이나 구조화된 데이터로 변환할 수 있는 플랫폼이다.

설치

  1. firecrawl.dev에서 API 키를 발급받고 환경 변수(FIRECRAWL_API_KEY)로 설정한다.
  2. Firecrawl SDKcrewai[tools] 패키지를 함께 설치한다:
pip install firecrawl-py 'crewai[tools]'

예제

에이전트가 웹사이트를 로드할 수 있도록 FirecrawlScrapeFromWebsiteTool을 다음과 같이 사용한다:

from crewai_tools import FirecrawlCrawlWebsiteTool

tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')

인자

  • api_key: 선택 사항. Firecrawl API 키를 지정한다. 기본값은 FIRECRAWL_API_KEY 환경 변수다.
  • url: 크롤링을 시작할 기본 URL이다.
  • page_options: 선택 사항.
    • onlyMainContent: 선택 사항. 헤더, 네비게이션, 푸터 등을 제외하고 페이지의 주요 내용만 반환한다.
    • includeHtml: 선택 사항. 페이지의 원시 HTML 콘텐츠를 포함한다. 응답에 html 키를 출력한다.
  • crawler_options: 선택 사항. 크롤링 동작을 제어하는 옵션이다.
    • includes: 선택 사항. 크롤링에 포함할 URL 패턴이다.
    • exclude: 선택 사항. 크롤링에서 제외할 URL 패턴이다.
    • generateImgAltText: 선택 사항. LLM을 사용해 이미지에 대한 alt 텍스트를 생성한다(유료 플랜 필요).
    • returnOnlyUrls: 선택 사항. true로 설정하면 크롤링 상태에서 URL 목록만 반환한다. 주의: 응답은 문서 목록이 아닌 data 안에 URL 목록이 된다.
    • maxDepth: 선택 사항. 크롤링할 최대 깊이를 설정한다. 깊이 1은 기본 URL이고, 깊이 2는 기본 URL과 직접 연결된 자식 페이지를 포함한다.
    • mode: 선택 사항. 사용할 크롤링 모드를 지정한다. 빠른 모드는 사이트맵이 없는 웹사이트에서 4배 더 빠르게 크롤링하지만 정확도가 떨어질 수 있으며, 자바스크립트가 많이 사용된 웹사이트에는 적합하지 않다.
    • limit: 선택 사항. 크롤링할 최대 페이지 수를 설정한다.
    • timeout: 선택 사항. 크롤링 작업의 타임아웃을 밀리초 단위로 설정한다.