섹션별 상세
전통적인 웹 스크래핑은 사이트 구조 변경에 취약하며 봇 탐지 시스템에 의해 쉽게 차단된다. Lightfeed Extractor는 스텔스 모드와 프록시 설정을 지원하는 Playwright 브라우저를 사용하여 로컬, 서버리스, 원격 환경에서 안정적인 접속을 보장한다. 이를 통해 개발자는 복잡한 우회 로직 구현 없이 데이터 수집에 집중할 수 있다.
typescript
const productCatalogSchema = z.object({
products: z.array(
z.object({
name: z.string().describe("Product name or title"),
brand: z.string().optional().describe("Brand name"),
price: z.number().describe("Current price"),
productUrl: z.string().url().describe("Link to product detail page"),
})
).describe("List of bread and bakery products"),
});
const result = await extract({
llm: new ChatGoogleGenerativeAI({ model: "gemini-2.5-flash" }),
content: html,
format: ContentFormat.HTML,
schema: productCatalogSchema,
});Zod 스키마를 정의하고 LLM을 사용하여 HTML에서 구조화된 상품 데이터를 추출하는 기본 예시
LLM의 응답은 때때로 정의된 스키마를 벗어나거나 불완전한 JSON 형식을 반환하여 시스템 오류를 유발한다. 이 라이브러리는 safeSanitizedParser를 탑재하여 잘못된 타입의 값을 제거하거나 필수 필드가 누락된 객체를 정제함으로써 유효한 데이터만 복구한다. 실제 구현에서 비정상적인 데이터가 포함된 경우에도 전체 파이프라인의 중단 없이 최대한의 데이터를 확보한다.
typescript
const agent = new BrowserAgent({ browserProvider: "Local" });
const page = await agent.newPage();
await page.goto("https://amazon.com");
await page.ai("Search for 'organic coffee' and go to the second page of results");
const html = await page.content();
const result = await extract({
llm: myLLM,
content: html,
schema: mySchema,
prompt: "Extract all product listings from the search results",
});Browser Agent를 사용하여 자연어 명령으로 웹을 탐색한 후 데이터를 추출하는 예시
대규모 웹 페이지의 전체 HTML을 LLM에 전달하는 것은 과도한 토큰 비용과 지연 시간을 발생시킨다. extractMainHtml 옵션은 휴리스틱 알고리즘을 통해 네비게이션, 헤더, 푸터 등 불필요한 요소를 제거하고 핵심 본문만 마크다운으로 변환하여 전달한다. 내부 테스트 결과 Amazon 상품 페이지 등에서 추적 파라미터를 제거하는 URL 클리닝 기능과 결합하여 데이터 가독성과 처리 효율이 크게 향상됐다.
용어 해설
- 조드(Zod)
- — TypeScript 우선의 스키마 선언 및 유효성 검사 라이브러리이다. 데이터의 구조를 정의하고 런타임에 해당 구조가 올바른지 확인하여 LLM이 생성한 데이터의 안정성을 보장하는 역할을 한다.
- 플레이라이트(Playwright)
- — 웹 브라우저 자동화를 위한 오픈소스 프레임워크이다. 단일 API로 Chromium, Firefox, WebKit 등 다양한 브라우저를 제어하며 웹 스크래핑 및 테스트 자동화에 널리 사용된다.
- 스텔스 모드(Stealth Mode)
- — 웹사이트의 안티 봇(Anti-bot) 시스템에 의해 자동화 도구가 탐지되는 것을 방지하는 기술이다. 브라우저 지문을 수정하거나 사용자 행동을 모방하여 차단을 우회한다.
- JSON 모드(JSON Mode)
- — LLM이 응답을 반드시 유효한 JSON 형식으로 생성하도록 강제하는 설정이다. 구조화된 데이터를 추출할 때 파싱 오류를 줄이고 시스템 간 데이터 연동을 원활하게 한다.
기술
- Playwright
- LangChain
- Zod
- TypeScript
- Google Gemini
- OpenAI
- Anthropic
- Ollama
활용 사례
- 이커머스 경쟁사 가격 추적
- 뉴스 및 블로그 본문 데이터 수집
- 자연어 기반 웹 브라우징 에이전트
- 구조화된 데이터셋 구축
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 26.수집 2026. 03. 26.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
