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駆動エージェントが利用可能なクリーンなMarkdownまたはHTMLを返します。
主要なプリミティブ
scrape– URLのリストを指定して、メイン記事(または完全なページ)をMarkdown/HTML形式で取得。crawl– シードURLからリンクを幅優先探索し、必要に応じて各ページをスクレイピング。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パイプライン、または大規模な信頼性とステルス性を必要とする自動化を開発する開発者。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト