
Webdaten für KI-Agenten und LLMs abrufen
Der schnellste Web-Crawler und Scraper für Rust.
Spider ist eine primär auf Nebenläufigkeit ausgelegte Crawling-Engine, die in Rust geschrieben wurde. Sie streamt Seiten sofort beim Empfang, rendert JavaScript ausschließlich auf Seiten, die es benötigen, und skaliert nahtlos von einem einzelnen Skript bis zu einer verteilten Cluster-Umgebung, ohne dass Code-Anpassungen nötig sind. Dieselbe Engine treibt auch Spider Cloud an, sodass Sie lokal prototypisieren und mit einer einzigen Konfigurationsänderung auf verwaltete Infrastruktur umsteigen können.
Der schwierigste Teil beim Crawlern im großen Maßstab ist nicht der Code. Es sind die Proxies, Headless-Browser und die kontinuierlichen Anti-Bot-Blockierungen. Spider Cloud übernimmt all das für Sie hinter derselben API.
Holen Sie sich einen kostenlosen API-Schlüssel → (keine Kreditkarte erforderlich)
[dependencies]
spider = { version = "2", features = ["spider_cloud"] }
use spider::configuration::{SpiderCloudConfig, SpiderCloudMode};
use spider::website::Website;
let cloud = SpiderCloudConfig::new("sk-...")
.with_mode(SpiderCloudMode::Smart); // proxy by default, stealth scrape when blocked
let mut website = Website::new("https://example.com")
.with_spider_cloud_config(cloud)
.build()?;
Der Smart-Modus leitet den Verkehr zunächst über Proxies und wechselt nur auf Seiten, die Widerstand leisten, zu einem Stealth-/scrape-Vorgang hoch. So zahlen Sie für Umgehungsmaßnahmen nur dort, wo sie tatsächlich benötigt werden.
Kein Schlüssel, kein Dienst. Nur der Crawler.
[dependencies]
spider = "2"
use spider::{tokio, website::Website};
#[tokio::main]
async fn main() {
let mut website = Website::new("https://example.com");
let mut rx = website.subscribe(16);
tokio::spawn(async move {
while let Ok(page) = rx.recv().await {
println!("{} {}", page.status_code, page.get_url());
}
});
website.crawl().await;
website.unsubscribe();
}
Seiten werden während des Abrufs gestreamt. Der Crawler findet Links, hält sich innerhalb der von Ihnen festgelegten Grenzen und stoppt automatisch.
Spider priorisiert HTTP und startet Headless-Chrome nur, wenn eine Seite JavaScript benötigt. Sowohl der HTTP-Pfad als auch der Chrome-Pfad streamen, sodass Seiten direkt beim Abruf zurückkommen und nicht erst am Ende gebündelt werden. Dieselbe API steuert entweder eine einzelne Async-Aufgabe oder eine verteilte Worker-Flotte, wobei das Nebenläufigkeitsmodell zwischen beiden identisch bleibt. Proxies, Wiederholungsversuche, Ratenbegrenzung und Stealth-Funktionen sind integriert.
| Sie möchten… | Befehl |
|---|---|
| Rust-Bibliothek | cargo add spider |
| Kommandozeilen-Tool | cargo install spider_cli |
| Node.js-Paket | npm i @spider-rs/spider-rs |
| Python-Paket | pip install spider_rs |
| MCP-Server (Claude, Cursor, …) | cargo install spider_mcp |
| Verwaltetes Crawling | spider.cloud |
Jede Option verfügt über einen sinnvollen Standardwert, daher legen Sie nur fest, was Sie tatsächlich benötigen.
let mut website = Website::new("https://example.com")
.with_limit(50) // gleichzeitige Anfragen
.with_depth(10) // wie tief Links gefolgt werden sollen
.with_delay(500) // Pause zwischen Anfragen (ms)
.with_respect_robots_txt(true)
.with_subdomains(true)
.with_user_agent(Some("MyBot/1.0"))
.with_stealth(true)
.build()
.unwrap();
Vollständige Referenz in der Configuration-Dokumentation.
Für JavaScript-lastige Websites aktivieren Sie features = ["chrome"] und rufen Sie crawl_smart() auf. Spider versucht zunächst HTTP und startet Chrome nur auf Seiten, die es benötigen.
Teams nutzen Spider, um das offene Web in Vektorspeicher für LLM- und RAG-Pipelines einzuspeisen, Websites auf SEO- und Preisänderungen zu überwachen, Seiten als Markdown, JSON oder WARC zu exportieren und Headless-Chrome für KI-Browsing-Agenten anzusteuern. Es stehen über 50 ausführbare Beispiele zum Starten bereit.
PRs sind willkommen. Siehe CONTRIBUTING.md.
cargo test -p spider # Unit-Tests
RUN_LIVE_TESTS=1 cargo test # Live-Netzwerktests
MIT.