Home
Login

Python을 위해 특별히 제작된 웹 스크래핑 및 브라우저 자동화 라이브러리로, 신뢰할 수 있는 크롤러를 구축하고 AI, LLM, RAG 또는 GPT 애플리케이션에 사용할 데이터를 추출할 수 있도록 지원합니다.

Apache-2.0Python 5.7kapifycrawlee-python Last Updated: 2025-06-23

Crawlee Python - 웹 스크래핑 및 브라우저 자동화 라이브러리

프로젝트 개요

Crawlee는 신뢰할 수 있는 크롤러를 구축하기 위해 Python으로 특별히 제작된 웹 스크래핑 및 브라우저 자동화 라이브러리입니다. AI, LLM, RAG 또는 GPT 애플리케이션에 사용할 데이터를 추출하고 웹사이트에서 HTML, PDF, JPG, PNG 및 기타 파일을 다운로드할 수 있습니다. 이 프로젝트는 Apify에서 개발했으며, BeautifulSoup 및 Playwright를 기반으로 구축된 오픈 소스 웹 스크래핑 라이브러리로서, 통합 웹 스크래핑 방법을 채택하고 있습니다.

주요 특징

핵심 기능

  • 다중 엔진 지원: BeautifulSoup, Playwright 및 기본 HTTP와 함께 사용
  • 유연한 모드: 헤드리스 및 헤드 모드 지원
  • 프록시 로테이션: 내장된 프록시 로테이션 기능
  • 파일 다운로드: HTML, PDF, JPG, PNG 등 다양한 형식의 파일 다운로드 지원
  • AI 통합 최적화: AI, LLM, RAG 및 GPT 애플리케이션을 위한 데이터 추출에 특화된 최적화

기술적 장점

  • 타입 힌트: 현대적인 디자인으로 Python 타입 힌트를 포함하여 오류를 조기에 발견하도록 지원
  • 안정적이고 신뢰성 높음: 매일 수백만 페이지를 스크래핑하는 전문 개발자가 구축
  • 사용 용이성: 필요에 따라 다양한 스크래핑 라이브러리를 쉽게 전환 가능
  • 오류 처리: 강력한 오류 처리 및 재시도 메커니즘 내장

기술 아키텍처

하위 기술 스택

# 주요 의존성
- BeautifulSoup: 정적 HTML 파싱
- Playwright: 동적 JavaScript 렌더링 페이지 처리
- HTTP 클라이언트: 기본 HTTP 요청 지원

통합 능력

  • Apify 플랫폼 통합: Apify 플랫폼과 원활하게 통합
  • 다양한 스크래핑 기술: 정적 HTML 파싱부터 동적 JavaScript 렌더링까지 다양한 스크래핑 기술 지원

사용 시나리오

주요 응용 분야

  1. AI 데이터 수집: 머신러닝 및 AI 애플리케이션을 위한 훈련 데이터 수집
  2. RAG 시스템: 검색 증강 생성 시스템을 위한 데이터 소스 제공
  3. GPT 애플리케이션: 다양한 GPT 애플리케이션을 위한 실시간 데이터 제공
  4. 콘텐츠 모니터링: 웹사이트 콘텐츠 변경 사항 모니터링
  5. 데이터 분석: 비즈니스 분석을 위한 데이터 수집

경쟁 제품과의 비교

Python의 두 가지 주요 오픈 소스 옵션인 Scrapy와 Crawlee 중에서 Apify는 후자를 선택했으며, 초보자가 더 적은 코드와 더 적은 시간을 들여 크롤러를 만들 수 있기 때문에 선호할 것이라고 생각합니다.

프로젝트 상태

릴리스 정보

  • 오픈 소스 라이선스: 완전한 오픈 소스 무료
  • 언어 지원: Python 버전 (Node.js 버전도 있음)
  • 릴리스 시간: Python 버전은 출시 후 몇 주 만에 많은 관심을 받음
  • 유지 관리 상태: 활발하게 유지 관리 중

커뮤니티 반응

  • GitHub에서 광범위한 관심 획득
  • JavaScript 버전의 성공과 Python 커뮤니티의 요구로 인해 Python 버전 출시
  • Hacker News와 같은 기술 커뮤니티에서 긍정적인 피드백 획득

설치 및 빠른 시작

설치 방법

pip install crawlee

기본 사용 예제

from crawlee import BeautifulSoupCrawler

# 크롤러 인스턴스 생성
crawler = BeautifulSoupCrawler()

# 요청 처리기 정의
@crawler.router.default_handler
async def handler(context):
    # 데이터 추출
    data = {
        'title': context.soup.find('title').get_text(),
        'url': context.request.url
    }
    
    # 데이터 저장
    await context.push_data(data)

# 크롤러 실행
await crawler.run(['https://example.com'])

고급 기능

프록시 지원

# 프록시 로테이션 구성
crawler = BeautifulSoupCrawler(
    proxy_configuration={
        'proxy_urls': ['http://proxy1:8000', 'http://proxy2:8000']
    }
)

오류 처리 및 재시도

# 자동 재시도 구성
crawler = BeautifulSoupCrawler(
    max_requests_per_crawl=1000,
    request_timeout=30,
    retry_on_blocked=True
)

요약

Crawlee Python은 현대적이고 강력한 웹 스크래핑 라이브러리로, 특히 AI 애플리케이션을 위한 데이터 수집이 필요한 시나리오에 적합합니다. 여러 성숙한 스크래핑 기술의 장점을 결합하여 간결한 API와 강력한 기능을 제공하며, Python 개발자가 웹 스크래핑을 수행하는 데 탁월한 선택입니다. 간단한 데이터 추출이든 복잡한 브라우저 자동화 작업이든 Crawlee는 신뢰할 수 있는 솔루션을 제공할 수 있습니다.

Star History Chart