
AI 에이전트 및 LLM을 위한 웹 데이터 가져오기
Rust를 위한 가장 빠른 웹 크롤러이자 스크래퍼입니다.
Spider는 Rust로 구축된 동시성 우선 크롤링 엔진입니다. 페이지가 도착하는 즉시 스트리밍하고, 페이지가 요구할 때만 JavaScript를 렌더링하며, 코드 변경 없이 단일 스크립트에서 분산 플릿까지 확장됩니다. 동일한 엔진이 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를 우선적으로 실행하며, 페이지가 실제로 JavaScript를 필요로 할 때만 헤드리스 Chrome을 시작합니다. 스트리밍은 HTTP와 Chrome 경로 모두에 내장되어 있어 페이지가 마지막에 일괄 처리되는 대신 가져오는 즉시 반환됩니다. 이 설계는 최고 수준의 동시성 처리량을 제공하며, 동일한 API에서 단일 비동기 작업에서 분산 워커 플릿까지 확장되는 매우 높은 요청 볼륨을 유지합니다. 프록시, 재시도, 속도 제한 및 스텔스가 내장되어 있습니다.
모든 옵션에는 합리적인 기본값이 있으므로 필요한 것만 설정하세요.
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개 이상의 실행 가능한 예제가 있습니다.
PR 환영합니다. CONTRIBUTING.md를 참조하세요.
cargo test -p spider # unit tests
RUN_LIVE_TESTS=1 cargo test # live network tests
MIT.
| 원하는 것… | 실행 |
|---|
| 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 |