프로젝트 소개
Crawlee는 Node.js용 웹 스크래핑 및 브라우저 자동화 라이브러리로, TypeScript로 작성되었으며 `crawlee` NPM 패키지로 배포됩니다. HTTP 크롤링과 실제 브라우저 크롤링 모두에 단일 인터페이스를 제공하여 크롤링과 스크래핑을 처음부터 끝까지 포괄하는 것을 목표로 합니다.
README에 설명된 주요 기능:
- HTTP 및 헤드리스 브라우저 크롤링을 위한 단일 인터페이스
- 크롤링할 URL을 위한 영구 큐, 너비 우선 및 깊이 우선 순서 지원
- 표 형식 데이터와 파일을 위한 플러그형 스토리지, 기본적으로 로컬 `./storage` 디렉터리 사용
- 사용 가능한 시스템 리소스에 따른 자동 확장
- 통합 프록시 순환 및 세션 관리
- 훅으로 사용자 정의 가능한 수명 주기
- 프로젝트를 부트스트랩하는 CLI (`npx crawlee create my-crawler`)
- 구성 가능한 라우팅, 오류 처리 및 재시도
- 배포 준비가 된 Dockerfile
- 제네릭을 사용한 TypeScript 작성
HTTP 크롤링 기능에는 제로 구성 HTTP2 지원(프록시 포함), 브라우저 유사 헤더 자동 생성, 브라우저 TLS 지문 복제, 통합 고속 HTML 파서(Cheerio 및 JSDOM), JSON API 스크래핑 기능이 포함됩니다.
실제 브라우저 크롤링 기능에는 JavaScript 렌더링 및 스크린샷, 헤드리스 및 헤드풀 지원, 제로 구성 인간 유사 지문 생성, 자동 브라우저 관리, Chrome, Firefox, Webkit 등에서 동일한 인터페이스로 Playwright와 Puppeteer를 사용할 수 있는 기능이 포함됩니다.
설치에는 Node.js 16 이상이 필요합니다. 권장 빠른 시작은 Crawlee CLI를 사용하며, 수동 설치는 기존 프로젝트에 `crawlee`와 `playwright` 같은 브라우저 자동화 라이브러리를 추가하는 방식입니다. 짧은 예제에서는 페이지 제목을 기록하고 결과를 데이터셋에 푸시하며 링크를 큐에 추가하는 `PlaywrightCrawler`를 보여줍니다. 베타 빌드는 `crawlee@next`로 게시됩니다.
이 프로젝트는 Apify가 개발했으며 오픈소스이고 어디서나 실행되며, Apify 플랫폼 배포에 대한 문서화된 지원이 있습니다. Apache License 2.0에 따라 라이선스가 부여됩니다. 지원 채널로는 GitHub 이슈, Stack Overflow, GitHub Discussions, Discord 서버가 있습니다. Python 대응 버전인 Crawlee for Python도 언급되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.