Extrator Lightfeed: Biblioteca TypeScript para Extração Robusta de Dados da Web com LLMs

Lightfeed Extractor é uma biblioteca TypeScript desenvolvida para extração robusta de dados da web usando LLMs e automação de navegador Playwright. Ela aborda pontos problemáticos comuns em pipelines de web scraping, onde seletores CSS tradicionais falham quando sites alteram o layout, e abordagens de LLM puro enfrentam dificuldades com ruído HTML, saída JSON malformada e problemas de URL.
Principais Recursos
- Conversão de HTML para markdown pronto para LLM: Extrai o conteúdo principal enquanto remove barras de navegação, cabeçalhos, rodapés e lixo de rastreamento. Inclui inclusão opcional de imagens e limpeza de URL.
- Extração com LLM usando esquemas Zod: Funciona com qualquer LLM compatível com LangChain (OpenAI, Gemini, Claude, Ollama) e usa esquemas Zod para extração com segurança de tipos e validação real.
- Recuperação de JSON: Sanitiza e recupera dados parciais de saída LLM malformada em vez de falhar completamente. Se 19 de 20 produtos forem analisados corretamente, você obtém esses 19.
- Automação de navegador integrada: Usa Playwright com suporte para navegadores locais, sem servidor ou remotos. Inclui patches anti-bot para web scraping confiável.
- Integração de navegação de navegador com IA: Pareia com @lightfeed/browser-agent para navegação de página orientada por IA antes da extração.
- Manipulação de URL: Gerencia URLs relativas, remove inválidas, repara links escapados em markdown e limpa parâmetros de rastreamento.
Instalação e Uso
Instale via npm:
npm install @lightfeed/extractor
Em seguida, instale seu provedor de LLM preferido:
# OpenAI
npm install @langchain/openai
# Google Gemini
npm install @langchain/google-genai
# Anthropic
npm install @langchain/anthropic
# Ollama (modelos locais)
npm install @langchain/ollama
Exemplo de uso para extração de produtos de e-commerce:
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
import { extract, ContentFormat, Browser } from "@lightfeed/extractor";
import { z } from "zod";
// Define esquema para extração de catálogo de produtos
const productCatalogSchema = z.object({
products: z.array(
z.object({
name: z.string().describe("Nome ou título do produto"),
brand: z.string().optional().describe("Nome da marca"),
price: z.number().describe("Preço atual"),
originalPrice: z.number().optional().describe("Preço original se em promoção"),
rating: z.number().optional().describe("Avaliação do produto de 0 a 5"),
reviewCount: z.number().optional().describe("Número de avaliações"),
productUrl: z.string().url().describe("Link para página de detalhes do produto"),
imageUrl: z.string().url().optional().describe("URL da imagem do produto")
})
).describe("Lista de produtos de pão e padaria")
});
// Cria instância do navegador
const browser = new Browser({
type: "local", // também suporta navegador sem servidor e remoto
headless: false
});
A biblioteca é licenciada sob Apache 2.0 e usada em produção na Lightfeed para pipelines de dados que raspam sites e extraem dados estruturados. Ela é projetada para desenvolvedores que constroem fluxos de trabalho de web scraping e desejam evitar escrever código repetitivo para limpeza de HTML, conversão de markdown, chamadas LLM, análise de JSON, recuperação de erros e validação de esquema.
📖 Leia a fonte completa: HN LLM Tools
👀 See Also

PixelCheck: Um Pacote npm Que Permite que Agentes de IA Verifiquem Visualmente Páginas Web
PixelCheck é um pacote npm que permite que agentes de IA abram, interajam e avaliem páginas web visualmente — sem mais loops manuais de captura de tela e feedback.

cowork-session-sync v1.0.0 fornece continuidade de sessão para o Claude Cowork
cowork-session-sync v1.0.0 é uma ferramenta que mantém a continuidade da sessão para o Claude Cowork, arquivando transcrições brutas, destilando-as para Markdown e permitindo a inicialização com uma frase usando 'catchup-bunny' para restaurar o contexto completo.

EmoBar: Visualizando os Vetores Internos de Emoção do Claude do Artigo da Anthropic
Um desenvolvedor criou o EmoBar, uma ferramenta de código aberto que visualiza as 171 representações internas de emoção no Claude identificadas no artigo recente da Anthropic. A ferramenta utiliza uma abordagem de canal duplo para revelar esses vetores mensuráveis que causam o comportamento do modelo.

certctl: Plataforma de ciclo de vida de certificados auto-hospedada com 78 endpoints de API para automação de agentes de IA
certctl é uma plataforma de ciclo de vida de certificados auto-hospedada desenvolvida com Go e TypeScript que expõe 78 endpoints de API REST para gerenciamento de certificados. A plataforma é independente de emissor e de destino, com um servidor MCP planejado para expor toda a funcionalidade como ferramentas nativas MCP.