Home
Login

강력한 Node.js 웹 스크래핑 및 브라우저 자동화 라이브러리. JavaScript 및 TypeScript를 지원하며 AI, LLM, RAG 등을 위한 데이터 추출 가능

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - 현대적인 웹 스크래핑 및 브라우저 자동화 프레임워크

프로젝트 개요

Crawlee는 Apify사에서 개발한 강력한 Node.js 웹 스크래핑 및 브라우저 자동화 라이브러리로, 신뢰성 있는 웹 크롤러 구축을 위해 설계되었습니다. 이 프로젝트는 JavaScript와 TypeScript를 지원하며, AI, 대규모 언어 모델(LLM), 검색 증강 생성(RAG) 등의 애플리케이션에 고품질 데이터 추출 서비스를 제공할 수 있습니다.

GitHub 주소: https://github.com/apify/crawlee

핵심 기능 특징

🚀 통합된 스크래핑 인터페이스

  • 다중 엔진 지원: HTTP 요청 및 헤드리스 브라우저 스크래핑을 위한 통합 인터페이스 지원
  • 유연한 선택: 필요에 따라 적합한 스크래핑 방식 선택 가능

🔄 스마트 큐 관리

  • 영구 큐: 너비 우선 및 깊이 우선 URL 크롤링 큐 지원
  • 자동 확장: 시스템 리소스에 따라 크롤링 규모 자동 조정

💾 유연한 저장 시스템

  • 다양한 형식 지원: 테이블 데이터 및 파일의 플러그형 저장 지원
  • 로컬/클라우드: 기본적으로 로컬 ./storage 디렉토리에 저장, 클라우드 저장 지원

🔒 엔터프라이즈급 안티 디텍션

  • 프록시 로테이션: 프록시 로테이션 및 세션 관리 통합
  • 인간 행동 시뮬레이션: 기본 구성에서 인간 행동을 시뮬레이션하여 최신 로봇 감지 우회
  • 지문 위조: 실제 브라우저와 유사한 TLS 지문 및 요청 헤더 자동 생성

🛠 개발자 친화적

  • TypeScript 기본 지원: 완전한 타입 정의 및 제네릭 지원
  • CLI 도구: 스캐폴딩을 통해 프로젝트를 빠르게 생성
  • 라이프사이클 후크: 사용자 정의 가능한 라이프사이클 이벤트 처리
  • Docker 준비 완료: 배포를 용이하게 하는 내장 Dockerfile

지원하는 스크래핑 방식

HTTP 스크래핑

  • 고성능: 프록시를 포함한 제로 구성 HTTP2 지원
  • 스마트 파싱: Cheerio 및 JSDOM 빠른 HTML 파서 통합
  • API 친화적: JSON API 스크래핑도 지원

브라우저 자동화

  • 다중 브라우저: Chrome, Firefox, Webkit 등 다양한 브라우저 지원
  • JavaScript 렌더링: 동적 콘텐츠 및 싱글 페이지 애플리케이션 처리
  • 스크린샷 기능: 페이지 스크린샷 지원
  • 헤드리스/헤드 모드: 유연한 실행 모드 선택
  • 통합 인터페이스: Playwright 및 Puppeteer가 동일한 API 인터페이스 사용

빠른 시작

CLI를 사용하여 프로젝트 생성

npx crawlee create my-crawler
cd my-crawler
npm start

기본 예제 코드

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

의존성 설치

npm install crawlee playwright

기술 아키텍처

핵심 모듈

  • @crawlee/core: 핵심 기능 모듈
  • @crawlee/types: TypeScript 타입 정의
  • @crawlee/utils: 유틸리티 함수

지원하는 라이브러리 및 도구

  • Playwright: 현대적인 브라우저 자동화
  • Puppeteer: Chrome/Chromium 자동화
  • Cheerio: 빠른 HTML 파싱
  • JSDOM: DOM 조작 및 파싱

배포 및 통합

로컬 개발

  • 기본 데이터는 ./storage 디렉토리에 저장
  • 구성 파일을 통해 저장 위치 사용자 정의 지원
  • 완전한 구성 가이드 및 문서 지원

클라우드 배포

  • Apify 플랫폼: Crawlee는 Apify에서 개발되었으므로 Apify 클라우드 플랫폼에 쉽게 배포 가능
  • Docker 지원: 내장 Docker 구성으로 컨테이너화된 배포 지원
  • 크로스 플랫폼: Node.js를 지원하는 모든 환경에서 실행 가능

버전 관리

  • 안정 버전: npm을 통해 안정적인 릴리스 버전 설치
  • 베타 버전: 베타 버전 설치를 지원하여 새로운 기능 테스트
npm install crawlee@3.12.3-beta.13

적용 가능한 시나리오

데이터 과학 및 AI

  • 머신러닝 데이터셋: AI 모델을 위한 훈련 데이터 수집
  • RAG 시스템: 검색 증강 생성 시스템을 위한 지식 베이스 제공
  • LLM 훈련: 대규모 언어 모델의 사전 훈련 데이터 수집

비즈니스 애플리케이션

  • 경쟁사 분석: 경쟁사의 제품 및 가격 정보 모니터링
  • 시장 조사: 산업 동향 및 시장 데이터 수집
  • 콘텐츠 집계: 뉴스, 기사 등 콘텐츠 자동 수집

기술 모니터링

  • 웹사이트 모니터링: 웹사이트 변경 사항 정기적으로 확인
  • 가격 추적: 전자 상거래 제품 가격 모니터링
  • 데이터 백업: 중요한 웹 페이지 콘텐츠 정기적으로 백업

요약

Crawlee는 포괄적이고 현대적인 디자인의 웹 스크래핑 프레임워크로, 특히 높은 신뢰성과 안티 디텍션 기능이 필요한 엔터프라이즈급 애플리케이션에 적합합니다. 통합된 API 디자인, 강력한 안티 디텍션 기능 및 완벽한 생태계를 통해 현대적인 데이터 수집 프로젝트에 이상적인 선택입니다. AI 프로젝트를 위한 데이터 수집이든, 비즈니스 인텔리전스 분석이든, Crawlee는 안정적이고 신뢰할 수 있는 솔루션을 제공할 수 있습니다.