프로젝트 소개

Crawlee는 Python용 포괄적인 웹 스크래핑 및 브라우저 자동화 라이브러리로, 개발자가 안정적인 크롤러를 빠르게 구축할 수 있도록 설계되었습니다. URL 발견부터 데이터 추출 및 저장까지 크롤링과 스크래핑을 위한 종단 간 솔루션을 제공합니다. 주요 기능은 다음과 같습니다: - HTTP 기반 및 헤드리스 브라우저 크롤링을 위한 통합 인터페이스 - 시스템 리소스 기반 자동 병렬 크롤링 - 개발자 경험 향상 및 버그 감소를 위한 타입 힌트 - 오류 또는 차단 시 자동 재시도 - 프록시 회전 및 세션 관리 - URL을 적절한 핸들러로 라우팅하는 구성 가능한 요청 라우팅 - 크롤링을 위한 영구 URL 큐 - 표 형식 데이터 및 파일을 위한 플러그형 스토리지 - 견고한 오류 처리 Crawlee는 두 가지 주요 크롤러 유형을 제공합니다: - BeautifulSoupCrawler: HTTP 라이브러리와 BeautifulSoup을 사용하여 HTML을 파싱하며, JavaScript 실행 없이 효율적인 데이터 추출에 적합합니다. - PlaywrightCrawler: Playwright를 통해 헤드리스 브라우저를 사용하며, 상호작용이 필요한 JavaScript 중심 사이트에 적합합니다. Parsel, BeautifulSoup, 원시 HTTP를 포함한 다양한 파싱 라이브러리를 지원하며, HTML, PDF, JPG, PNG와 같은 파일을 다운로드할 수 있습니다. 이 라이브러리는 헤드풀 및 헤드리스 모드 모두에서 작동합니다. Scrapy와 비교하여 Crawlee는 asyncio 기반이며, 완전한 타입 힌트를 제공하고, 일반 Python 스크립트로 더 간단하게 통합되며, 중단 중 상태 유지, 조직화된 데이터 저장소(데이터셋 및 키-값 저장소)를 지원합니다. 설치는 추가 기능을 위한 선택적 확장과 함께 pip를 통해 간단합니다. 템플릿으로 빠른 프로젝트 설정을 위한 CLI 도구도 제공됩니다. Crawlee는 Apify에서 개발되었으며, 클라우드 실행을 위해 Apify 플랫폼에 배포할 수 있습니다. 문서, 가이드 및 예제는 Crawlee 프로젝트 웹사이트에서 제공되며, JavaScript/TypeScript 프로젝트를 위한 TypeScript 구현도 제공됩니다.