Extracteur Lightfeed : Bibliothèque TypeScript pour une Extraction Robuste de Données Web avec LLMs

Lightfeed Extractor est une bibliothèque TypeScript conçue pour une extraction robuste de données web en utilisant des LLM et l'automatisation de navigateur Playwright. Elle résout les problèmes courants des pipelines de scraping web où les sélecteurs CSS traditionnels échouent lorsque les sites modifient leur mise en page, et où les approches LLM brutes peinent avec le bruit HTML, les sorties JSON malformées et les problèmes d'URL.
Fonctionnalités principales
- Conversion HTML vers markdown prêt pour LLM : Extrait le contenu principal tout en supprimant les barres de navigation, en-têtes, pieds de page et éléments de suivi indésirables. Inclut l'inclusion optionnelle d'images et le nettoyage d'URL.
- Extraction LLM avec schémas Zod : Fonctionne avec tout LLM compatible LangChain (OpenAI, Gemini, Claude, Ollama) et utilise des schémas Zod pour une extraction typée avec une validation réelle.
- Récupération JSON : Assainit et récupère les données partielles des sorties LLM malformées au lieu d'échouer complètement. Si 19 produits sur 20 sont correctement analysés, vous obtenez ces 19.
- Automatisation de navigateur intégrée : Utilise Playwright avec prise en charge des navigateurs locaux, sans serveur ou distants. Inclut des correctifs anti-bot pour un scraping web fiable.
- Intégration de navigation navigateur par IA : S'associe à @lightfeed/browser-agent pour une navigation de page pilotée par IA avant l'extraction.
- Gestion des URL : Gère les URL relatives, supprime celles qui sont invalides, répare les liens échappés en markdown et nettoie les paramètres de suivi.
Installation et utilisation
Installez via npm :
npm install @lightfeed/extractor
Puis installez votre fournisseur LLM préféré :
# OpenAI
npm install @langchain/openai
# Google Gemini
npm install @langchain/google-genai
# Anthropic
npm install @langchain/anthropic
# Ollama (modèles locaux)
npm install @langchain/ollama
Exemple d'utilisation pour l'extraction de produits e-commerce :
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
import { extract, ContentFormat, Browser } from "@lightfeed/extractor";
import { z } from "zod";
// Définir le schéma pour l'extraction de catalogue de produits
const productCatalogSchema = z.object({
products: z.array(
z.object({
name: z.string().describe("Nom ou titre du produit"),
brand: z.string().optional().describe("Nom de la marque"),
price: z.number().describe("Prix actuel"),
originalPrice: z.number().optional().describe("Prix d'origine si en promotion"),
rating: z.number().optional().describe("Note du produit sur 5"),
reviewCount: z.number().optional().describe("Nombre d'avis"),
productUrl: z.string().url().describe("Lien vers la page de détail du produit"),
imageUrl: z.string().url().optional().describe("URL de l'image du produit")
})
).describe("Liste des produits de pain et boulangerie")
});
// Créer une instance de navigateur
const browser = new Browser({
type: "local", // prend également en charge les navigateurs sans serveur et distants
headless: false
});
La bibliothèque est sous licence Apache 2.0 et utilisée en production chez Lightfeed pour les pipelines de données qui scrapent des sites web et extraient des données structurées. Elle est conçue pour les développeurs construisant des workflows de scraping web qui souhaitent éviter d'écrire du code répétitif pour le nettoyage HTML, la conversion markdown, les appels LLM, l'analyse JSON, la récupération d'erreurs et la validation de schéma.
📖 Read the full source: HN LLM Tools
👀 See Also

Le Tableau de Bord de Code de Claude Suit Plus de 19 Millions de Commits Générés par l'IA sur GitHub
Un développeur a créé un tableau de bord qui suit plus de 19 millions de commits générés par Claude Code sur les dépôts publics GitHub, montrant TypeScript (35,3 %), Python (19,2 %) et JavaScript (10,3 %) comme les langages les plus utilisés. Le système utilise Next.js avec Recharts et PostgreSQL, avec un pipeline ETL qui contourne les limites de taux de l'API GitHub.

Mia : Démon d'espace de travail IA local avec application Android native et diffusion P2P
Mia est un démon qui s'exécute sur votre machine et s'associe à une application Android native via P2P, vous permettant de lancer et de surveiller des tâches de codage IA de longue durée depuis votre téléphone. Il prend en charge les agents OpenCode, Claude Code, Gemini CLI et Codex, diffusant la sortie directement sur votre appareil en temps réel.

Registre de Projet : Système de Mémoire avec Intervention Humaine pour Agents d'IA de Codage
Un projet GitHub présente un système de registre basé sur YAML où les humains sélectionnent ce que les agents IA retiennent des bases de code. Il inclut une compétence /ledger, un crochet UserPromptSubmit pour l'injection automatique de contexte et une révision par un auditeur Haiku.

IUM : L'Indexeur de Symboles MCP Réduit l'Utilisation de Jetons des Agents IA de 15,9x par rapport à grep
IUM indexe les bases de code dans une matrice SQLite d'événements de symboles, exposant les coordonnées exactes fichier:ligne, le traçage de graphe d'appels et la recherche sémantique via MCP. Testé avec DataFusion (1 538 fichiers), montrant 15,9 fois moins de tokens que grep pour des requêtes équivalentes.