Lightfeed Extractor: LLMを活用した堅牢なWebデータ抽出のためのTypeScriptライブラリ

Lightfeed Extractorは、LLMとPlaywrightブラウザ自動化を使用した堅牢なウェブデータ抽出のために構築されたTypeScriptライブラリです。従来のCSSセレクターがサイトのレイアウト変更で壊れる場合や、生のLLMアプローチがHTMLノイズ、不正なJSON出力、URL問題に苦戦するウェブスクレイピングパイプラインの一般的な課題に対処します。
主な機能
- HTMLからLLM対応マークダウンへの変換: ナビゲーションバー、ヘッダー、フッター、追跡ジャンクを除去しながらメインコンテンツを抽出します。オプションで画像を含めることやURLクリーニングもサポート。
- Zodスキーマを使用したLLM抽出: あらゆるLangChain互換LLM(OpenAI、Gemini、Claude、Ollama)と連携し、実際の検証を伴うタイプセーフな抽出のためにZodスキーマを使用します。
- JSON回復: 不正なLLM出力から部分データをサニタイズして回復し、完全に失敗するのを防ぎます。20個の製品のうち19個が正しく解析されれば、その19個を取得できます。
- 組み込みブラウザ自動化: ローカル、サーバーレス、リモートブラウザをサポートするPlaywrightを使用します。信頼性の高いウェブスクレイピングのためのアンチボットパッチを含みます。
- AIブラウザナビゲーション統合: 抽出前のAI駆動ページナビゲーションのために@lightfeed/browser-agentと連携します。
- URL処理: 相対URLの管理、無効なURLの削除、マークダウンエスケープリンクの修復、追跡パラメータのクリーニングを行います。
インストールと使用方法
npm経由でインストール:
npm install @lightfeed/extractor
次に、希望するLLMプロバイダーをインストール:
# OpenAI
npm install @langchain/openai
# Google Gemini
npm install @langchain/google-genai
# Anthropic
npm install @langchain/anthropic
# Ollama (ローカルモデル)
npm install @langchain/ollama
Eコマース製品抽出の使用例:
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
import { extract, ContentFormat, Browser } from "@lightfeed/extractor";
import { z } from "zod";
// 製品カタログ抽出のためのスキーマを定義
const productCatalogSchema = z.object({
products: z.array(
z.object({
name: z.string().describe("製品名またはタイトル"),
brand: z.string().optional().describe("ブランド名"),
price: z.number().describe("現在の価格"),
originalPrice: z.number().optional().describe("セール中の場合は元の価格"),
rating: z.number().optional().describe("5段階評価での製品評価"),
reviewCount: z.number().optional().describe("レビュー数"),
productUrl: z.string().url().describe("製品詳細ページへのリンク"),
imageUrl: z.string().url().optional().describe("製品画像URL")
})
).describe("パンとベーカリー製品のリスト")
});
// ブラウザインスタンスを作成
const browser = new Browser({
type: "local", // サーバーレスおよびリモートブラウザもサポート
headless: false
});
このライブラリはApache 2.0ライセンスで、Lightfeedの本番環境でウェブサイトをスクレイピングして構造化データを抽出するデータパイプラインに使用されています。HTMLクリーンアップ、マークダウン変換、LLM呼び出し、JSON解析、エラー回復、スキーマ検証のための繰り返しの定型コードを書くことを避けたいウェブスクレイピングワークフローを構築する開発者向けに設計されています。
📖 完全なソースを読む: HN LLM Tools
👀 See Also

Qwen 3.6 27B F16がパックマンコーディングテストに合格、しかし8ビット量子化では失敗——テンプレートとMTP投機的復号化に関する重要な教訓
あるユーザーがPacmanクローンを、Qwen 3.6 27B F16を使って一発で作成——3回の試行のうち2回でほぼ完璧なゲームが生成された。8ビット量子化では完全に失敗。チャットテンプレートの調整やMTP投機的デコードによる速度向上に関する詳細なメモ。

トリノードメモリ:人間/エージェント金庫分離によるオープンソース永続エージェントメモリ
Tri-Node Memoryは、2つのObsidianボールトを使用してAIコーディングエージェントのメモリを人間の永続的なジャーナルから分離する軽量アーキテクチャです。エージェントは人間のボールトを読み取りますが、自分のボールトにのみ書き込み、明示的な許可なしに境界を越えることはありません。

プロンプト明確化、チュートリアル、バグ発見のための4つの無料Claude Codeスキル
Apache 2.0ライセンス、無料のClaude Codeスキル4つ:prompter(プロンプト書き換え)、tutorial-creator(注釈付きコードウォークスルー)、bug-echo(修正後のアンチパターン一掃)、bug-prospector(7つの分析レンズによるリリース前監査)。

今はFigmaよりClaudeでデザインしています — Jane Streetデザイナーのワークフロー
Jane Streetのデザイナーが、FigmaのモックアップではなくClaude Codeを使って実際のプロトタイプを構築する方法を紹介。設計書不要で、コードベース上で直接反復作業を行い、機能を迅速に出荷します。