any4ai/AnyCrawl

AnyCrawl 🚀: A Node.js/TypeScript crawler that turns websites into LLM-ready data and extracts structured SERP results from Google/Bing/Baidu/etc. Native multi-threading for bulk processing.

AnyCrawl – LLM 준비된 구조화 추출 기능을 갖춘 빠르고 확장 가능한 웹 및 SERP 크롤링

무엇인가요 AnyCrawl는 고성능 웹 크롤링, 사이트 스크래핑, 검색 엔진 결과(SERP) 수집을 위한 오픈소스 툴킷(노드.js + 타입스크립트)입니다. 다중 스레드/다중 프로세스 워커, 선택적 Redis 캐시, 그리고 LLM 기반 구조화 데이터 추출(JSON 스키마)을 내장하고 있습니다. 이 서비스는 자체 호스팅이 가능하며, api.anycrawl.dev에서 공개 API를 통해도 사용할 수 있습니다.

핵심 기능

기능 세부 사항
SERP 크롤링 현재 지원되는 엔진은 Google뿐이며, 페이지네이션된 결과를 가져올 수 있습니다.
웹 스크래핑 단일 URL을 가져오며 세 가지 엔진 옵션 제공: cheerio(빠른 정적 HTML), playwright, puppeteer(완전한 자바스크립트 렌더링).
사이트 크롤링 깊이 제한, 도메인 범위 제한된 탐색 가능하며, 제한 및 경로 필터를 사용자 정의할 수 있습니다.
배치 작업 URL 목록을 비동기로 일괄 스크래핑; 상태를 풀링하고 결과를 가져옵니다.
LLM 추출 스크래핑 요청에 json_options.schema를 첨부합니다. AnyCrawl는 페이지 내용을 OpenAI 호환 LLM(예: Atlas Cloud)에 전달하고 구조화된 JSON을 반환합니다.
프록시 지원 요청별 proxy 매개변수 또는 전역 ANYCRAWL_PROXY_URL 사용 가능. 기본 프록시 제공, 주거용 프록시를 위한 스폰서링 링크도 제공됩니다.
확장성 워커는 여러 스레드 또는 프로세스에서 실행 가능. Docker 이미지에는 CloakBrowser 바이너리가 사전 설치되어 있어 브라우저 재사용이 효율적입니다.
캐시 변경되지 않은 페이지를 다시 다운로드하지 않기 위해 선택적 Redis 또는 S3 기반 캐시 지원.
API 우선 모든 기능은 REST API(/v1/scrape, /v1/crawl, /v1/search, /v1/batch/scrape)를 통해 제공됩니다.

주요 활용 사례

  • LLM 학습 또는 RAG용 데이터 수집 – 원시 웹 페이지를 수집한 후 내장된 스키마 추출 기능을 사용해 인덱싱 가능한 깨끗한 JSON을 생성합니다.
  • 검색 엔진 모니터링 – 키워드 세트에 대해 Google SERP 결과를 주기적으로 가져옵니다.
  • 대규모 웹 스크래핑 파이프라인 – 배치 작업과 Redis 캐시, 다중 프로세스 워커를 결합해 고처리량을 달성합니다.
  • 최신 웹 콘텐츠가 필요한 AI 에이전트 – 자율 에이전트에서 API를 호출하고, 주거용 프록시를 통해 봇 차단을 피할 수 있습니다(옵션).

시작하기

  1. 호스팅된 API 사용하기 – AnyCrawl 대시보드에서 무료 API 키를 획득하고, 리드미 예제를 참고해 직접 엔드포인트를 호출합니다.
  2. 자체 호스팅하기 – 리포지토리 복제 후 docker compose up -d 실행(또는 로컬에서 api 서비스 시작).
    • 키 생성: pnpm --filter api key:generate (또는 docker exec을 통해).
    • ANYCRAWL_API_AUTH_ENABLED=true와 같은 환경 변수 설정, 프록시/Redis 설정은 선택 사항입니다.
  3. 간단한 스크래핑 실행하기:
    curl -X POST https://api.anycrawl.dev/v1/scrape \
         -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer <YOUR_KEY>' \
         -d '{"url":"https://example.com","engine":"cheerio"}'
    
  4. LLM 추출 추가하기 – 요청 본문에 json_options.schema 포함; 환경 변수(DEFAULT_LLM_MODEL, ATLASCLOUD_API_KEY)를 통해 OpenAI 호환 제공자(예: Atlas Cloud) 설정.

문서 및 커뮤니티

  • 완전한 API 참조 및 빠른 시작 가이드: https://docs.anycrawl.dev
  • 인터랙티브 테스트용 플레이그라운드: https://anycrawl.dev/playground
  • 기여는 환영합니다(자세한 내용은 CONTRIBUTING.md 참조).
  • 후원자는 Open Collective에서 프로젝트를 지원할 수 있습니다.

라이선스 MIT – 허용적인 오픈소스 라이선스입니다.

결론 AnyCrawl는 LLM 워크플로우와 원활하게 통합되는, 프로덕션 수준의 크롤링/스크래핑 서비스를 제공합니다. AI 기반 데이터 파이프라인, 자율 에이전트, RAG 시스템의 실용적인 구성 요소로 적합합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트