본문 바로가기
IT 개인학습/Memo

🔥 Firecrawl 완전정복: 웹 자동화 & AI 추출 도구 정리

by 그때 그때 끄적 2025. 6. 2.
반응형

웹페이지 크롤링, 콘텐츠 추출, 구조화 데이터 분석까지
Firecrawl 하나로 끝내는 웹 자동화 도구 가이드


🔧 Firecrawl란?

Firecrawl은 웹 데이터를 효율적으로 수집하고 가공하는 데 특화된 AI 기반 도구입니다. 단순한 크롤링뿐 아니라, LLM을 활용한 구조화 정보 추출, 검색 기반 콘텐츠 요약, 심층 리서치까지 가능합니다.

🛠️ 주요 기능 한눈에 보기

도구 이름 주요 기능 추천 사용 시점 주의 사항 사용 예시
firecrawl_scrape 특정 URL의 콘텐츠 추출 (Markdown, HTML 등) 단일 페이지 대상 여러 URL 대상일 땐 batch_scrape 사용 {"url": "https://example.com", "formats": ["markdown"]}
firecrawl_map 웹사이트의 전체 URL 구조 수집 URL 구조 파악이 필요할 때 내용은 추출하지 않음 (크롤링 아님) {"url": "https://example.com"}
firecrawl_crawl 여러 페이지 크롤링 + 콘텐츠 추출 전체 사이트 또는 블로그 전수 수집 시 너무 많은 페이지 요청 시 토큰 초과 가능 {"url": "https://example.com/blog/*", "maxDepth": 2}
firecrawl_check_crawl_status 비동기 크롤링 상태 확인 crawl 실행 이후 진행 상황 모니터링 idcrawl 결과로 받은 값 사용 {"id": "550e8400-e29b-41d4-a716-446655440000"}
firecrawl_search 키워드 기반 검색 + 선택적 콘텐츠 요약 어떤 사이트에 있는지 모를 때 특정 URL이 있다면 scrape, crawl 사용 권장 {"query": "latest AI research", "limit": 5}
firecrawl_extract LLM 기반 구조화 데이터 추출 이름, 가격 등 특정 필드만 필요할 때 전체 내용 추출은 scrape 사용 {"urls": ["url1"], "prompt": "Extract name and price", "schema": {...}}
firecrawl_deep_research 지능형 웹 검색 + 다중 사이트 분석 + LLM 요약 복잡한 리서치/주제 분석 빠른 결과가 필요하면 비추천 {"query": "EV vs gasoline impact", "maxDepth": 3}
firecrawl_generate_llmstxt AI 모델 대상 크롤링 정책 파일 생성 (llms.txt) 사이트의 AI 접근 정책 설정 시 콘텐츠 추출과는 관련 없음 {"url": "https://example.com", "showFullText": true}

✅ 언제 어떤 도구를 써야 할까?

목적 추천 도구
단일 페이지 콘텐츠 수집 firecrawl_scrape
사이트 전체 URL 구조 확인 firecrawl_map
여러 페이지 자동 수집 및 추출 firecrawl_crawl
페이지 상태 확인 firecrawl_check_crawl_status
키워드 기반 뉴스/자료 수집 firecrawl_search
제품정보 등 구조화 데이터 추출 firecrawl_extract
복잡한 리서치/다중 출처 분석 firecrawl_deep_research
AI 모델 접근 정책 정의 firecrawl_generate_llmstxt

 

🔧 Firecrawl 도구별 주요 파라미터 정리

1. firecrawl_scrape

단일 URL의 콘텐츠를 추출할 때 사용

"name": "firecrawl_scrape"
파라미터 설명 필수값
url 스크래핑 대상 페이지 URL
formats 추출 포맷 (markdown, html 등) ❌ (markdown 기본값)
onlyMainContent 본문만 추출 (nav/footer 제거)
includeTags, excludeTags 포함/제외할 HTML 태그 리스트
waitFor 동적 콘텐츠 로딩 대기 시간(ms)
timeout 최대 대기 시간(ms)
mobile 모바일 뷰포트 사용 여부
removeBase64Images base64 이미지 제거 여부
 

2. firecrawl_map

사이트의 모든 URL 목록 수집

"name": "firecrawl_map"
url 시작 URL
search 특정 키워드가 포함된 URL만 필터링
ignoreSitemap sitemap.xml 무시
sitemapOnly HTML 링크 무시, sitemap만 사용
includeSubdomains 서브도메인 포함 여부
limit 최대 수집 URL 개수
 

3. firecrawl_crawl

전체 사이트 다중 페이지 콘텐츠 크롤링

"name": "firecrawl_crawl"
"name": "firecrawl_crawl"
url 시작 URL 또는 경로 (https://site.com/blog/*)
maxDepth 링크 깊이 제한
limit 최대 페이지 수 제한
excludePaths, includePaths 제외/포함할 경로
allowExternalLinks 외부 링크 포함 여부
deduplicateSimilarURLs 유사 URL 중복 제거
ignoreQueryParameters URL 비교 시 파라미터 무시 여부
scrapeOptions 각 페이지에 대한 스크래핑 설정
 

4. firecrawl_check_crawl_status

비동기 크롤링의 상태 확인

"name": "firecrawl_check_crawl_status"
id 크롤링 작업 ID
 

5. firecrawl_search

웹 전체에서 키워드 기반 검색 및 추출

"name": "firecrawl_search"
"name": "firecrawl_search"
query 검색어
limit 결과 수 제한 (기본: 5)
lang 언어 코드 (en, ko 등)
country 국가 코드 (us, kr 등)
tbs 시간 기반 필터 (qdr:d 등)
filter 검색 필터
scrapeOptions 콘텐츠 추출 설정 (formats, onlyMainContent 등)
더보기
firecrawl_search "query" Operators

 

🔎 주요 지원 연산자 요약 (Firecrawl Search용)

 

Operator 기능 설명 예시
site: 특정 사이트 도메인 내에서만 검색 site:finance.yahoo.com
inurl: URL 경로에 특정 단어가 포함된 결과만 검색 inurl:news
allinurl: URL에 여러 단어가 포함된 결과만 검색 allinurl:quote tsla
intitle: 페이지 제목에 단어가 포함된 결과 intitle:Tesla
related: 특정 도메인과 관련된 결과만 검색 related:finance.yahoo.com

✅ 그래서 원하는 "뉴스 기사만 가져오기" 설정은

{ 
    "query": "{{ $json.best_keyword }} site:finance.yahoo.com inurl:news", 
    "limit": 5 
}

✅ 이 조합은:

  • finance.yahoo.com 내에서
  • URL에 news가 포함된 페이지만
  • TSLA 같은 best_keyword와 연관된 결과를 검색합니다.

 

💡 팁: 종목 코드가 아닌 전체 검색어를 쓰고 싶다면?

{
	"query": "{{ $json.best_keyword }} earnings site:finance.yahoo.com inurl:news", 
	"limit": 3
}

이렇게 하면 "TSLA 실적" 관련 뉴스만 추려낼 수 있어요.


6. firecrawl_extract

LLM을 활용한 구조화 정보 추출

"name": "firecrawl_extract"
urls 대상 URL 목록 (배열)
prompt 사용자 지정 추출 프롬프트
systemPrompt 시스템용 가이드 프롬프트
schema 추출할 JSON 스키마 ✅ or prompt
allowExternalLinks 외부 링크 허용 여부
enableWebSearch 추가 웹 탐색 허용 여부
includeSubdomains 서브도메인 포함 여부
 

7. firecrawl_deep_research

다중 소스 기반 심층 분석/리서치 수행

"name": "firecrawl_deep_research"
"name": "firecrawl_deep_research"
query 리서치 주제
maxDepth 크롤/탐색 반복 깊이 (기본: 3)
timeLimit 전체 분석 시간 제한 (초)
maxUrls 최대 탐색 URL 수
 

8. firecrawl_generate_llmstxt

AI 접근 허용 설정파일(llms.txt) 자동 생성

"name": "firecrawl_generate_llmstxt"
url 대상 사이트 루트 URL
maxUrls 포함할 최대 URL 수 (기본: 10)
showFullText llms-full.txt도 포함할지 여부
반응형

댓글