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 + 타입스크립트)입니다. 멀티스레드/멀티프로세스 워커, 내장 캐시, 그리고 선택적 LLM 기반 JSON 추출 기능을 제공하여, 최신 웹 데이터가 필요한 AI 에이전트를 위한 즉시 사용 가능한 백엔드입니다.

주요 기능

  • SERP 크롤링 – Google(향후 다른 엔진도 지원 예정)에 쿼리하여 배치로 구조화된 결과를 가져옵니다.
  • 웹 스크래핑 – 세 가지 엔진 중 하나로 단일 페이지를 가져옵니다:
    • cheerio (정적 HTML, 가장 빠름)
    • playwright (현대적 JS 렌더링을 지원하는 헤드리스 크롬)
    • puppeteer (크롬 기반 렌더링)
  • 사이트 크롤링 – 루트 URL에서 시작하여 깊이, 제한, 범위 제어(same-domain, same-hostname 등)로 링크를 탐색합니다.
  • 배치 작업 – 여러 URL을 한 번에 제출하고, 작업 ID를 받아 상태를 확인하고, 페이지네이션된 결과를 가져옵니다.
  • LLM 추출 – JSON 스키마를 제공하면 AnyCrawl는 OpenAI 호환 LLM(예: Atlas Cloud)을 호출하여 원시 페이지 콘텐츠를 구조화된 JSON으로 변환합니다.
  • 확장성 – 멀티스레딩, 멀티프로세싱, Redis 기반 큐, Docker 호환 이미지를 사용하여 수평 확장이 가능합니다.
  • 프록시 지원 – 요청별 또는 전역 프록시 설정; 스폰서를 통해 고품질 주거용 프록시를 제공합니다.
  • 캐시 레이어 – 선택적 로컬, S3, 또는 Redis 캐시를 사용하여 변경되지 않은 페이지의 재다운로드를 방지합니다.

일반적인 워크플로우

  1. 자체 호스팅(또는 공개 API https://api.anycrawl.dev 사용).
  2. API 키 생성 (pnpm --filter api key:generate).
  3. URL, 엔진, 제한, 그리고 선택적 json_options (LLM 추출용)을 포함한 JSON 페이로드로 적절한 엔드포인트(/v1/scrape, /v1/crawl, /v1/search, 또는 /v1/batch/scrape)를 호출.
  4. 원시 HTML/텍스트, 선택적 추출 필드, 메타데이터(상태, 캐시 정보 등)를 포함한 JSON 응답을 수신.

시작하기

  • 문서: https://docs.anycrawl.dev
  • 플레이그라운드: https://anycrawl.dev/playground (인터랙티브 API 테스터).
  • Docker: docker compose up 후 컨테이너 내에서 키 생성 (docker compose exec api pnpm --filter api key:generate).
  • CLI: 리포지토리는 키 생성 및 테스트용 pnpm 스크립트를 제공합니다.

누가 사용할 수 있나요

  • 최신 웹 콘텐츠가 필요한 AI 에이전트(예: 검색 기반 생성 파이프라인).
  • 웹에서 학습 데이터셋을 구축하는 데이터 과학 팀.
  • SERP 결과를 스크래핑하는 SEO/마켓 리서치 도구.
  • 신뢰성 있고 확장 가능한 스크래핑이 필요하며, 선택적 LLM 기반 구조화를 원하는 자동화 플랫폼.

라이선스 – MIT(허용성 높고 상용 사용 가능).


Any4AI 팀이 AI 생태계에 신뢰할 수 있고 쉽게 통합할 수 있는 크롤링 서비스를 제공하기 위해 개발했습니다.

관련

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