apify/crawlee

웹 스크래핑과 브라우저 자동화를 위한 엔드투엔드 Node.js 라이브러리

개발 재료맘대로 써도 됨 · Apache-2.0자동화·워크플로우난이도
23,782+285이번 주1,430137TypeScript
데모·홈페이지 열기crawlee.dev
중간맛 분석

TypeScript로 작성된 npm 라이브러리로, PlaywrightCrawler와 PuppeteerCrawler 두 가지 크롤러를 지원합니다. HTTP/2 자동 지원, TLS 핑거프린팅, Cheerio/JSDOM 파서 통합, 자동 프록시 로테이션, 세션 관리 등이 포함됩니다. CLI로 프로젝트 부트스트랩 가능하며, 기본 설정만으로도 즉시 사용 가능합니다. Apify 플랫폼 배포 지원.

이런 레포예요

이럴 때 쓰면 좋아요

  • 대규모 e-commerce 사이트에서 상품 정보와 가격 수집
  • JavaScript 렌더링이 필요한 동적 웹사이트의 데이터 추출
  • API 요청 기반 JSON 데이터 수집 및 자동화

핵심 기능

HTTP와 헤드리스 브라우저 크롤링 통합 인터페이스인간적 요청 생성 및 자동 봇 차단 우회자동 요청 큐 관리 및 데이터 스토리지

대안 대비 차별점

Playwright와 Puppeteer를 동일한 인터페이스로 통합 지원하며, 기본 설정에서 인간적 TLS 핑거프린팅과 헤더를 자동 생성하므로 복잡한 보안 설정 없이 즉시 신뢰성 있는 크롤러를 구축할 수 있습니다.

준비물
  • Node.js 16 이상
  • Playwright 또는 Puppeteer (선택사항)
바로 시작하기
  1. Crawlee CLI로 신규 프로젝트 생성
npx crawlee create my-crawler
  1. 프로젝트 디렉토리로 이동
cd my-crawler
  1. 프로젝트 시작
npm start

또는 기존 프로젝트에 수동 설치:

  1. Crawlee와 Playwright 설치
npm install crawlee playwright
  1. 코드 작성 (예: index.js 또는 index.ts)
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();
    },
});

await crawler.run(['https://crawlee.dev']);
  1. 크롤러 실행
npm start
별 추이 · 7일
23,782+285 / 7일
활용성 · 따라 만들기 좋은가
샘플 점수 34/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2016년 생성

AI가 README 기반으로 요약했습니다 · 원문 보기