mishushakov/llm-scraper

Turn any webpage into structured data using LLMs

해결하는 문제

웹 페이지에서 구조화된 정보를 추출하려면 일반적으로 마크업이 변경될 때마다 깨지는 사이트별 스크레이핑 코드를 작성해야 합니다. LLM Scraper는 이를 더 유연한 방식으로 대체합니다. LLM이 페이지 내용을 읽고 유형화된 스키마로 정의된 요청 필드를 정확하게 출력하도록 합니다. 이를 통해 CSS 선택자나 XPath 표현식을 하드코딩하지 않고도 뉴스 헤드라인, 제품 상세 정보 또는 검색 결과와 같은 데이터를 추출할 수 있습니다.

작동 방식

Playwright 브라우저 페이지를 실행하고 원하는 데이터를 설명하는 스키마(Zod 또는 JSON Schema 사용)를 정의한 후 URL을 지정합니다. LLM Scraper는 페이지 콘텐츠를 다음 6가지 형식 중 하나로 LLM에 전달합니다: 전처리된 HTML, 원본 HTML, markdown, 읽기 가능한 텍스트(Readability.js 사용), 멀티모달 모델을 위한 스크린샷 또는 사용자 정의 함수를 통한 커스텀 콘텐츠입니다. LLM은 콘텐츠를 다시 읽고 스키마와 일치하는 JSON 객체를 반환합니다. 또한 부분적인 결과를 생성되는 대로 반환하는 스트리밍 버전과, 이후 LLM 호출 없이 데이터를 추출할 수 있는 독립형 Playwright 스크립트를 생성하는 코드 생성 모드도 실행할 수 있습니다.

대상

기존 파싱 방식보다 더 탄력적이고 스키마 중심적인 대안을 원하는 웹 스크레이핑 파이프라인 구축 개발자. 비구조화된 웹 데이터를 깨끗한 레코드로 정규화해야 하는 프로젝트나, 이미 Playwright를 사용 중이면서 LLM 기반 추출 기능을 추가하고 싶은 분들에게 특히 유용합니다. 다양한 LLM 제공업체(OpenAI, Anthropic, Google, Groq, Ollama)를 지원하므로, 이미 이러한 플랫폼 중 하나를 사용 중인 팀에 적합합니다.

주요 특징

  • Zod 또는 JSON Schema를 사용한 스키마 우선 추출 및 완전한 TypeScript 타입 안전성
  • Vercel AI SDK를 통한 다양한 LLM 제품군 및 제공업체 지원
  • HTML, markdown, 텍스트, 스크린샷을 포함한 6가지 포맷 모드
  • 부분적 결과를 위한 스트리밍 출력
  • 더 빠른 추출을 위한 재사용 가능한 Playwright 스크립트를 제공하는 코드 생성 모드
  • Playwright 기반으로 모든 현대적인 브라우저 환경에서 작동

관련

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