Crawlee는 신뢰할 수 있는 크롤러를 구축하기 위해 Python으로 특별히 제작된 웹 스크래핑 및 브라우저 자동화 라이브러리입니다. AI, LLM, RAG 또는 GPT 애플리케이션에 사용할 데이터를 추출하고 웹사이트에서 HTML, PDF, JPG, PNG 및 기타 파일을 다운로드할 수 있습니다. 이 프로젝트는 Apify에서 개발했으며, BeautifulSoup 및 Playwright를 기반으로 구축된 오픈 소스 웹 스크래핑 라이브러리로서, 통합 웹 스크래핑 방법을 채택하고 있습니다.
# 주요 의존성
- BeautifulSoup: 정적 HTML 파싱
- Playwright: 동적 JavaScript 렌더링 페이지 처리
- HTTP 클라이언트: 기본 HTTP 요청 지원
Python의 두 가지 주요 오픈 소스 옵션인 Scrapy와 Crawlee 중에서 Apify는 후자를 선택했으며, 초보자가 더 적은 코드와 더 적은 시간을 들여 크롤러를 만들 수 있기 때문에 선호할 것이라고 생각합니다.
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는 신뢰할 수 있는 솔루션을 제공할 수 있습니다.