Lightfeed Extractor: Библиотека на TypeScript для надежного извлечения веб-данных с использованием LLM

Lightfeed Extractor — это библиотека на TypeScript, созданная для надёжного извлечения веб-данных с использованием LLM и автоматизации браузера Playwright. Она решает типичные проблемы в конвейерах веб-скрапинга, где традиционные CSS-селекторы ломаются при изменении макета сайтов, а подходы с использованием чистых LLM сталкиваются с шумом в HTML, некорректным выводом JSON и проблемами с URL.
Ключевые возможности
- Преобразование HTML в markdown, готовый для LLM: Извлекает основное содержимое, удаляя навигационные панели, заголовки, подвалы и мусор для отслеживания. Включает опциональное включение изображений и очистку URL.
- Извлечение с помощью LLM и схем Zod: Работает с любой LLM, совместимой с LangChain (OpenAI, Gemini, Claude, Ollama), и использует схемы Zod для типобезопасного извлечения с реальной валидацией.
- Восстановление JSON: Очищает и восстанавливает частичные данные из некорректного вывода LLM вместо полного сбоя. Если 19 из 20 продуктов обрабатываются правильно, вы получаете эти 19.
- Встроенная автоматизация браузера: Использует Playwright с поддержкой локальных, бессерверных или удалённых браузеров. Включает патчи против ботов для надёжного веб-скрапинга.
- Интеграция с AI-навигацией в браузере: Совмещается с @lightfeed/browser-agent для навигации по страницам на основе ИИ перед извлечением.
- Обработка URL: Управляет относительными URL, удаляет недействительные, исправляет экранированные ссылки в markdown и очищает параметры отслеживания.
Установка и использование
Установите через 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
Пример использования для извлечения товаров из электронной коммерции:
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, преобразования в markdown, вызовов LLM, парсинга JSON, восстановления ошибок и валидации схем.
📖 Read the full source: HN LLM Tools
👀 Смотрите также

Щитбот: Открытый плагин-сканер безопасности для Claude Code
Shieldbot — это сканер безопасности с открытым исходным кодом, который работает как плагин внутри Claude Code, объединяя шесть сканеров, включая Semgrep с более чем 5000 правил, Bandit, Ruff, detect-secrets, pip-audit и npm audit. Он устраняет дублирование результатов и генерирует приоритизированные отчёты с оценками риска и исправлениями кода.

Бернштейн: Оркестратор, подобный Kubernetes, для ИИ-агентов программирования с верификацией и политиками моделей
Bernstein — это оркестратор для ИИ-агентов программирования, который включает независимую проверку выходных данных агентов, управление политиками моделей, 13 адаптеров для агентов и детерминированное планирование на основе Python. Проект содержит более 5000 тестов и такие функции, как автоматические выключатели, обнаружение аномалий затрат и сканирование на наличие персональных данных.

Агент OpenClaw получает возможность телефонных звонков благодаря пользовательскому навыку.
Разработчик создал пользовательский навык для самостоятельно размещенных агентов OpenClaw, который добавляет функциональность телефонных звонков, позволяя агенту совершать вызовы по триггерам, таким как завершение сборки или сбои сервера. Реализация обеспечивает голосовое взаимодействие с полными чат-возможностями, включая веб-поиск и настройку оповещений.

Дистиллированная модель Qwen 3.5 27B демонстрирует высокую производительность с агентом кодирования Cursor AI.
Пользователь сообщает, что дистиллированная версия Qwen 27B opus 4.6 эффективно работает в качестве модели, управляющей Cursor, с производительностью, сопоставимой с Gemini 3 Flash. Настройка заняла около 10 минут с использованием Cursor для конфигурации туннеля ngrok и localllama.