본문으로 건너뛰기

Pluckr: LLM 기반의 스키마 우선 자가 치유형 HTML 데이터 추출 도구

Zod 스키마 정의만으로 LLM이 CSS 선택자를 자동 생성하고, 페이지 변경 시 스스로 복구하는 지능형 데이터 추출 라이브러리입니다.

섹션별 상세

01
Pluckr는 사용자가 Zod 스키마로 데이터 구조를 정의하면 LLM이 원본 HTML을 분석하여 각 필드에 적합한 CSS 선택자를 생성한다. 이 과정은 에이전트 루프를 통해 선택자를 테스트하고 검증하는 단계를 포함하여 추출의 정확도를 높인다. 개발자는 더 이상 복잡한 HTML 구조를 직접 분석하여 선택자를 작성할 필요가 없다.
typescript
import { Pluckr } from '@pluckr/core'; import { google } from '@ai-sdk/google'; import { z } from 'zod'; const pluckr = new Pluckr({ model: google('gemini-2.5-pro'), }); const result = await pluckr.extract({ html: '...', schema: z.object({ title: z.string(), price: z.coerce.number().positive(), inStock: z.coerce.boolean(), }), cacheKey: 'product-page', }); if (result.success) { console.log(result.data); } await pluckr.close();

Zod 스키마를 정의하고 Pluckr를 사용하여 HTML에서 데이터를 추출하는 기본 예시

02
생성된 선택자는 SQLite나 Redis와 같은 저장소에 캐싱되어 이후 동일한 페이지 구조를 처리할 때 LLM 호출 없이 즉시 데이터를 추출한다. 이는 API 비용을 절감하고 처리 속도를 비약적으로 향상시키는 핵심 메커니즘이다. 분산 환경에서는 Redis를 통해 여러 프로세스가 캐시를 공유할 수 있어 확장성도 뛰어나다.
03
웹사이트의 HTML 구조가 변경되어 기존 선택자가 작동하지 않을 경우 시스템이 이를 자동으로 감지한다. 이후 LLM을 재호출하여 새로운 선택자를 찾아내고 캐시를 갱신하는 자가 치유 프로세스를 수행한다. 이를 통해 웹사이트 업데이트 때마다 스크래퍼가 중단되는 현상을 방지하고 유지보수 공수를 최소화한다.
04
Vercel AI SDK를 지원하여 Google, Anthropic, OpenAI 등 다양한 모델을 선택해 사용할 수 있으며, Puppeteer나 Playwright와 같은 브라우저 자동화 도구와 결합하여 동적 콘텐츠도 손쉽게 처리한다. 사용자는 자신의 환경에 맞는 모델과 HTML 소스를 자유롭게 선택하여 통합할 수 있는 유연성을 가진다.

용어 해설

Zod
TypeScript 우선의 스키마 선언 및 검증 라이브러리로, 데이터의 형태를 정의하고 런타임에 이를 강제하여 타입 안정성을 확보하는 도구이다. 개발자가 기대하는 데이터 구조를 명확히 정의함으로써 잘못된 데이터 추출을 방지하고 코드의 신뢰성을 높이는 역할을 한다.
자가 치유(Self-healing)
시스템이 오류나 변경 사항을 스스로 감지하고 정상 상태로 복구하는 기능이다. 이 아티클에서는 웹사이트의 HTML 구조가 변경되어 기존의 CSS 선택자가 작동하지 않을 때, LLM이 이를 인지하고 새로운 선택자를 자동으로 생성하여 스크래퍼를 정상화하는 과정을 의미한다.
CSS 선택자(CSS Selector)
HTML 문서 내의 특정 요소를 선택하기 위한 패턴으로, 웹 스크래핑에서 데이터를 추출할 위치를 지정하는 데 사용되는 핵심 기술이다. ID, 클래스, 태그 이름 등을 조합하여 복잡한 문서 구조 속에서 원하는 정보만을 정확하게 타겟팅할 수 있게 해준다.
에이전트 루프(Agentic Loop)
AI 모델이 도구를 사용하거나 스스로 판단하여 목표를 달성할 때까지 반복적으로 작업을 수행하는 구조이다. Pluckr에서는 LLM이 생성한 선택자가 실제 HTML에서 유효한지 테스트하고, 실패할 경우 다시 시도하여 최적의 결과를 도출하는 반복 프로세스를 뜻한다.

기술

  • Pluckr
  • Zod
  • Vercel AI SDK
  • TypeScript
  • SQLite
  • Redis

활용 사례

  • 전자상거래 상품 정보 추출
  • 뉴스 기사 자동 수집
  • 동적 웹사이트 데이터 구조화

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 02. 25.수집 2026. 02. 25.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.