LLM Scraper je TypeScript knihovna, která bere běžnou webovou stránku a místo ručně psaných selectorů z ní zkouší vytáhnout strukturovaná data přes LLM. Prakticky míří na situace, kdy nechcete stavět klasický scraper pro každý web zvlášť, ale popsat jen to, co potřebujete dostat ven. Výstup se dá svázat se schema definovaným přes Zod nebo JSON Schema, takže výsledkem není volný text, ale objekt, se kterým jde dál pracovat v aplikaci.
Za projektem stojí Mish Ushakov, který ho publikuje jako open-source balíček pro Node.js ekosystém. Knihovna byla později aktualizovaná na verzi 2.0 s podporou Vercel AI SDK 6 a novějšími příklady použití.
Jak to funguje v praxi: stránku nejdřív otevře Playwright, nad jejím obsahem se pak pustí LLM a ten vrátí data podle zadaného schématu. Důležité je, že si lze vybrat víc režimů vstupu. Vedle HTML umí projekt pracovat i s raw HTML, markdownem, čistým textem přes Readability.js, screenshotem pro multimodální modely nebo s vlastním předzpracováním přes custom funkci. To z něj dělá použitelný nástroj nejen pro jednoduché extrakce, ale i pro weby, kde je potřeba nejdřív rozhodnout, jakou podobu obsahu má model vlastně dostat.
Projekt podporuje několik modelových řad najednou, konkrétně GPT, Sonnet, Gemini, Llama, Qwen a také lokální nebo alternativní providery přes AI SDK vrstvu. Kromě klasického běhu nabízí i streamování částečného objektu a generování kódu. Místo křehkého mapování DOM prvků tak vývojář spíš určuje tvar výsledku a formát vstupu. To je zajímavé hlavně tam, kde se struktura webu často mění nebo kde by ruční parser znamenal víc práce než samotná extrakce.
Zdroje: