Een snelle website-parser voor LLMs draaien op slechts 14 megabyte RAM
De laatste keer dat ik probeerde om een lokale stack voor web scraping in een RAG-pijplijn te deployen, smeekte mijn bescheiden VPS al snel om genade. De combinatie van browser-engines, taakwachtrijen en zware runtimes verbruikte meteen gigabytes aan geheugen. Als je ook geprobeerd hebt om populaire oplossingen zoals Firecrawl zelf te hosten, herinner je je waarschijnlijk die systeemvereisten.
Onlangs kwam het fastCRW-project onder mijn aandacht (in de repository wordt het simpelweg crw genoemd). De auteur heeft de vertrouwde scraping- en crawling-functies herschreven in Rust, waardoor alles in een compact binair bestand past.
Wat het project kan doen
fastCRW is bedacht als een direct alternatief voor Firecrawl en Tavily. Het haalt webpagina's op via URL en levert ze op als schone Markdown, klaar voor taalmodellen om te verwerken, of als gestructureerde JSON.
Het hulpmiddel verwerkt vier hoofd taken:
- Scrape: zet een pagina om naar Markdown, ruwe HTML of een screenshot.
- Crawl: doorloopt systematisch sitepagina's via interne links met respect voor robots.txt.
- Map: bouwt een linkkaart van een bron zonder elke pagina volledig te laden.
- Search: doorzoekt het internet en exporteert de resultaten direct.
Volgens benchmarks in de repository toonde fastCRW bij een open dataset van duizend adressen goede laadsnelheid en volledigheid van data-extractie, terwijl het stationair draaien van de binary slechts ongeveer 14 megabyte RAM gebruikt.
Hoe hiermee te werken
Je kunt het hulpprogramma lokaal uitproberen zonder registratie, of een cloud backend aansluiten met een gratis tier.
Installatie in de terminal:
curl -fsSL https://fastcrw.com/install | sh
Direct hierna is de CLI beschikbaar. Een eenvoudige aanroep retourneert geparsede Markdown direct naar de uitvoerstroom:
crw https://example.com
Integratie in code
Voor ontwikkelaars zijn er kant-en-klare bibliotheken. Zo ziet gegevensverzameling eruit in Python:
from crw import CrwClient
client = CrwClient()
page = client.scrape("https://example.com", formats=["markdown"])
print(page["markdown"])
Voor Node.js is de syntaxis praktisch hetzelfde:
import { CrwClient } from "crw-sdk";
const client = new CrwClient();
const page = await client.scrape("https://example.com", {
formats: ["markdown"],
});
console.log(page.markdown);
Verbinding met AI-assistenten via MCP
Een extra voordeel is de ondersteuning voor het Model Context Protocol. Dit betekent dat het hulpprogramma snel kan worden aangesloten als een tool voor Claude Desktop, Cursor of elke andere agent.
Commando voor automatische MCP-configuratie:
npx -y crw-mcp@latest install
Na de installatie krijgt het model de mogelijkheid om zelfstandig het web te doorzoeken en pagina's te lezen zonder omwegen met externe scripts.
Deploy opties en licentiëring
Het project heeft twee paden voor gebruik. De eerste is het draaien van een lokale binary op je eigen servers onder Linux of macOS. De tweede is een cloud API met kant-en-klare zware JavaScript-rendering en zoekfunctie.
Het is belangrijk om de licenties te bekijken als je van plan bent het hulpmiddel in productie te deployen. De engine zelf en de MCP-server worden gedistribueerd onder de strikte AGPL-3.0-licentie. Client-bibliotheken voor Python en TypeScript zijn open onder de bekende MIT-licentie.
Wie heeft hier baat bij
fastCRW is een uitstekende keuze als je RAG-systemen bouwt, gegevens verzamelt voor model-fine-tuning, of autonome AI-agents maakt. Het project elimineert de noodzaak om een zware browser-fleet te onderhouden om alleen maar platte tekst uit artikelen en documentatie te halen.
Als je het beu bent om de helft van je serverbronnen te wijden aan zware parsers, probeer dan crw lokaal te draaien — het verschil in geheugenverbruik is merkbaar vanaf de eerste seconden.
Gerelateerde projecten