apify/crawlee-pythonView GitHub Homepage for Latest Official Releases
Python을 위해 특별히 제작된 웹 스크래핑 및 브라우저 자동화 라이브러리로, 신뢰할 수 있는 크롤러를 구축하고 AI, LLM, RAG 또는 GPT 애플리케이션에 사용할 데이터를 추출할 수 있도록 지원합니다.
Apache-2.0Pythoncrawlee-pythonapify 6.3k Last Updated: September 25, 2025
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 렌더링까지 다양한 스크래핑 기술 지원
사용 시나리오
주요 응용 분야
- AI 데이터 수집: 머신러닝 및 AI 애플리케이션을 위한 훈련 데이터 수집
- RAG 시스템: 검색 증강 생성 시스템을 위한 데이터 소스 제공
- GPT 애플리케이션: 다양한 GPT 애플리케이션을 위한 실시간 데이터 제공
- 콘텐츠 모니터링: 웹사이트 콘텐츠 변경 사항 모니터링
- 데이터 분석: 비즈니스 분석을 위한 데이터 수집
경쟁 제품과의 비교
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는 신뢰할 수 있는 솔루션을 제공할 수 있습니다.