
AI एजेंटों और LLM के लिए वेब डेटा प्राप्त करें
Spider एक समवर्तीता-प्रथम क्रॉलिंग इंजन है जो Rust में बनाया गया है। यह पृष्ठों को उनके आगमन के क्षण स्ट्रीम करता है, केवल तब जावास्क्रिप्ट प्रस्तुत करता है जब कोई पृष्ठ इसकी मांग करता है, और आपके कोड को बदले बिना एक एकल स्क्रिप्ट से वितरित बेड़े तक स्केल करता है। वही इंजन Spider Cloud को संचालित करता है, इसलिए आप स्थानीय रूप से प्रोटोटाइप कर सकते हैं और एक कॉन्फ़िगरेशन परिवर्तन के साथ प्रबंधित बुनियादी ढांचे पर जा सकते हैं।
बड़े पैमाने पर क्रॉल करने का सबसे कठिन हिस्सा कोड नहीं है। यह प्रॉक्सी, हेडलेस ब्राउज़र और लगातार एंटी-बॉट चर्न है। Spider Cloud यह सब आपके लिए उसी API के पीछे चलाता है।
एक मुफ्त API कुंजी प्राप्त करें → (कोई कार्ड आवश्यक नहीं)
[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, auto-unblock when blocked
let mut website = Website::new("https://example.com")
.with_spider_cloud_config(cloud)
.build()?;
Smart मोड पहले प्रॉक्सी के माध्यम से रूट करता है और केवल उन पृष्ठों पर अनब्लॉकर को बढ़ाता है जो प्रतिरोध करते हैं, ताकि आप ठीक तब बायपास के लिए भुगतान करें जब इसकी आवश्यकता हो और कभी नहीं जब इसकी आवश्यकता न हो।
कोई कुंजी नहीं, कोई सेवा नहीं। बस क्रॉलर।
[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();
}
पृष्ठ उनके लाए जाने के साथ ही स्ट्रीम होते हैं। क्रॉलर लिंक खोजता है, सीमाओं का सम्मान करता है और अपने आप रुक जाता है।
Spider HTTP-प्रथम चलता है और केवल तब हेडलेस Chrome लॉन्च करता है जब किसी पृष्ठ को वास्तव में जावास्क्रिप्ट की आवश्यकता होती है। स्ट्रीमिंग HTTP और Chrome दोनों पथों में निर्मित है, इसलिए पृष्ठ अंत में बैच करने के बजाय लाने के क्षण वापस आते हैं। वह डिज़ाइन सर्वश्रेष्ठ-इन-क्लास समवर्ती थ्रूपुट प्रदान करता है, जो अत्यधिक उच्च अनुरोध मात्रा को बनाए रखता है और एक एकल async कार्य से उसी API पर वितरित कार्यकर्ता बेड़े तक स्केल करता है। प्रॉक्सी, रीट्राय, दर सीमित और स्टील्थ निर्मित हैं।
| आप चाहते हैं… | चलाएँ |
|---|---|
| Rust लाइब्रेरी | cargo add spider |
| कमांड-लाइन टूल | cargo install spider_cli |
| Node.js पैकेज | npm i @spider-rs/spider-rs |
| Python पैकेज | pip install spider_rs |
| MCP सर्वर (Claude, Cursor, …) | cargo install spider_mcp |
| प्रबंधित क्रॉलिंग | spider.cloud |
हर विकल्प का एक समझदार डिफ़ॉल्ट है, इसलिए केवल वही सेट करें जिसकी आपको आवश्यकता है।
let mut website = Website::new("https://example.com")
.with_limit(50) // concurrent requests
.with_depth(10) // how deep to follow links
.with_delay(500) // pause between requests (ms)
.with_respect_robots_txt(true)
.with_subdomains(true)
.with_user_agent(Some("MyBot/1.0"))
.with_stealth(true)
.build()
.unwrap();
पूर्ण संदर्भ Configuration दस्तावेज़ में।
JavaScript-भारी साइटों के लिए, features = ["chrome"] सक्षम करें और crawl_smart() कॉल करें। Spider पहले HTTP का प्रयास करता है और केवल इसकी आवश्यकता वाले पृष्ठों पर Chrome लॉन्च करता है।
टीमें Spider का उपयोग LLM और RAG पाइपलाइनों के लिए वेक्टर स्टोर में खुले वेब को फीड करने, SEO और मूल्य परिवर्तनों के लिए साइटों की निगरानी करने, पृष्ठों को Markdown, JSON या WARC के रूप में निर्यात करने, और AI ब्राउज़िंग एजेंटों के लिए हेडलेस Chrome चलाने के लिए करती हैं। शुरू करने के लिए 50+ चलाने योग्य उदाहरण हैं।
PRs स्वागत है। देखें CONTRIBUTING.md।
cargo test -p spider # unit tests
RUN_LIVE_TESTS=1 cargo test # live network tests
MIT।