LLM Scraper : Transformez les pages Web en données structurées
Libérez la puissance des LLM pour le web scraping avec LLM Scraper
Dans le monde dynamique du développement web et de l'analyse de données, l'extraction efficace d'informations structurées à partir de la vaste étendue d'Internet représente un défi courant. Voici LLM Scraper, un projet open-source de pointe qui promet de révolutionner la manière dont vous collectez des données sur les pages web. Développé en TypeScript et basé sur le framework robuste Playwright, LLM Scraper exploite la puissance des grands modèles de langage (LLM) pour convertir n'importe quelle page web en données structurées et utilisables.
Qu'est-ce que LLM Scraper ?
LLM Scraper est une bibliothèque TypeScript polyvalente conçue pour simplifier le processus d'extraction de données à partir de contenu web. Il tire parti des LLM, grâce à leurs capacités d'appel de fonction, pour interpréter et structurer les informations en fonction de vos schémas définis. Que vous travailliez avec du HTML pré-traité, du HTML brut, du Markdown, ou même des données visuelles issues de captures d'écran via des LLM multimodaux, LLM Scraper répond à vos besoins.
Fonctionnalités et avantages clés
LLM Scraper offre un ensemble impressionnant de fonctionnalités qui répondent à un large éventail de cas d'utilisation :
- Prise en charge étendue des LLM : S'intègre aux principaux fournisseurs de LLM, notamment GPT (OpenAI), Sonnet (Anthropic), Gemini (Google), Llama (Meta) et Qwen.
- Définition flexible de schémas : Définissez vos structures de données en utilisant Zod ou JSON Schema, garantissant une sécurité de type robuste pour vos données extraites.
- Fondation Playwright : Construit sur Playwright, un outil puissant pour les tests de bout en bout et l'automatisation, garantissant des interactions fiables avec le navigateur.
- Modes de formatage multiples : Prend en charge les formats
html
,raw_html
,markdown
,text
(via Readability.js) etimage
(pour les LLM multimodaux) pour une entrée de données polyvalente. - Objets en flux continu (Streaming Objects) : Récupérez les données de manière incrémentielle au fur et à mesure qu'elles sont traitées, ce qui est bénéfique pour les grands ensembles de données ou les applications en temps réel.
- Génération de code : Une fonctionnalité unique qui vous permet de générer des scripts Playwright réutilisables basés sur vos schémas définis, rationalisant ainsi les tâches répétitives.
Premiers pas avec LLM Scraper
Lancer votre parcours d'extraction de données avec LLM Scraper est simple :
-
Installer les dépendances :
npm i zod playwright llm-scraper
-
Initialiser votre LLM : Choisissez votre fournisseur de LLM préféré et configurez-le. Des exemples sont fournis pour OpenAI, Anthropic, Google, Groq et Ollama.
- Exemple OpenAI :
import { openai } from '@ai-sdk/openai' const llm = openai.chat('gpt-4o')
- Exemple OpenAI :
-
Créer une instance LLMScraper : Instanciez le scraper avec le LLM de votre choix.
import LLMScraper from 'llm-scraper' const scraper = new LLMScraper(llm)
-
Exécuter le scraper : Définissez le schéma souhaité à l'aide de Zod, puis exécutez le scraper sur une page Playwright.
import { chromium } from 'playwright' import { z } from 'zod' import { openai } from '@ai-sdk/openai' import LLMScraper from 'llm-scraper' const browser = await chromium.launch() const llm = openai.chat('gpt-4o') const scraper = new LLMScraper(llm) const page = await browser.newPage() await page.goto('https://news.ycombinator.com') const schema = z.object({ top: z.array(z.object({ title: z.string(), points: z.number(), by: z.string(), commentsURL: z.string(), })).length(5).describe('Les 5 meilleures histoires sur Hacker News'), }) const { data } = await scraper.run(page, schema, { format: 'html' }) console.log(data.top) await page.close() await browser.close()
Pour ceux qui préfèrent le traitement de données en temps réel, la fonction stream
permet une récupération itérative des données.
Contribuer à LLM Scraper
LLM Scraper est un projet communautaire. Les développeurs encouragent les contributions, les rapports de bugs et les demandes de fonctionnalités via les problèmes et les pull requests GitHub, en faisant une initiative open-source véritablement collaborative.
Avec ses capacités sophistiquées et sa conception conviviale, LLM Scraper est un outil inestimable pour les développeurs, les chercheurs et toute personne cherchant à extraire efficacement des données structurées précieuses du web en utilisant la puissance de l'IA.