vakra-dev/reader

Open source web infrastructure for AI. Scrape, crawl, and automate the web, clean markdown, browser sessions, ready for your agents.

Reader – AI 에이전트를 위한 프로덕션 수준의 웹 스크래핑

무엇인가요 – Playwright를 감싸서 즉시 사용 가능한 스텔스 브라우저 풀을 제공하는 Node.js 라이브러리(및 관련 CLI)입니다. Cloudflare 도전 과제, TLS 지문 추적, 프록시 회전, 리소스 제한과 같은 웹 자동화의 일반적인 골칫거리를 숨기고, LLM 기반 에이전트가 사용할 수 있는 깨끗한 마크다운 또는 HTML을 반환합니다.

핵심 기능

  1. scrape – URL 목록을 제공하면 메인 기사(또는 전체 페이지)를 마크다운/HTML 형식으로 반환합니다.
  2. crawl – 시드 URL에서 링크를 너비 우선 탐색하고, 필요 시 각 페이지를 스크래핑합니다.
  3. browser – 스텔스된 Chrome 세션(CDP 엔드포인트)을 시작하여 Playwright 또는 Puppeteer로 사용자 정의 로직을 제어할 수 있습니다.

AI에 중요한 이유 – 검색 기반 생성(RAG)과 자율 에이전트는 신뢰할 수 있고 최신 웹 콘텐츠가 필요합니다. Reader는 악성 방지 조치에 자주 깨지는 맞춤형 스크래퍼를 구축하지 않고도 안정적이고 프로덕션 준비된 방식으로 콘텐츠를 가져올 수 있도록 합니다.

주요 기능

  • 스텔스 브라우저 – TLS 지문 위장, navigator 위장, WebRTC 마스킹, webdriver=false.
  • 브라우저 풀 – 설정 가능한 크기, 지정된 페이지 수 또는 분 수 후 자동 재사용.
  • 프록시 레이어 – 표준(데이터센터) 및 프리미엄(주거용) 프록시 풀 내장 지원, 건강 모니터링 및 회전 기능.
  • 콘텐츠 정리 – 자동 메인 콘텐츠 추출, 네비게이션 바, 푸터, 팝업, 쿠키 배너 제거.
  • CLI 및 API – 빠른 스크립트에는 npx reader … 사용, TypeScript/JavaScript 프로젝트에서는 ReaderClient 가져오기.
  • 병렬 처리 – 설정 가능한 병렬성과 진행률 콜백을 사용한 배치 스크래핑.

일반적인 사용 예시

import { ReaderClient } from "@vakra-dev/reader";
const r = new ReaderClient();
const res = await r.scrape({
  urls: ["https://example.com"],
  formats: ["markdown", "html"],
  proxyTier: "premium",
  batchConcurrency: 3,
});
console.log(res.data[0].markdown);
await r.close();

또는 사용자 정의 탐색을 위해 전체 브라우저를 시작하는 경우:

const sess = await r.browser();
const { chromium } = require("playwright-core");
const browser = await chromium.connectOverCDP(sess.wsEndpoint);
const page = await browser.newPage();
await page.goto("https://news.ycombinator.com");
console.log(await page.title());
await sess.close();

설치 – npm install @vakra-dev/reader (Node ≥ 18). Playwright의 Chromium은 번들로 제공되며, 처음 사용 시 npx playwright install chromium을 실행하세요.

누구에게 추천되나요 – LLM 기반 에이전트, RAG 파이프라인, 또는 대규모로 신뢰성 있고 스텔스적인 웹 액세스가 필요한 모든 자동화를 구축하는 개발자.

관련

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