Skip to main content

spider_lib/
lib.rs

1pub mod builder;
2pub mod checkpoint;
3pub mod crawler;
4pub mod error;
5pub mod item;
6pub mod prelude;
7pub mod request;
8pub mod response;
9pub mod scheduler;
10pub mod spider;
11pub mod state;
12pub mod utils;
13
14pub mod downloader;
15pub mod downloaders;
16pub mod middleware;
17pub mod middlewares;
18pub mod pipeline;
19pub mod pipelines;
20
21pub use downloader::Downloader;
22pub use middleware::Middleware;
23pub use pipeline::Pipeline;
24
25pub use builder::CrawlerBuilder;
26pub use crawler::Crawler;
27pub use error::{PipelineError, SpiderError};
28pub use item::{ParseOutput, ScrapedItem};
29pub use request::Request;
30pub use response::Response;
31pub use scheduler::Scheduler;
32pub use spider_macro::scraped_item;
33
34pub use async_trait::async_trait;
35pub use dashmap::DashMap;
36pub use spider::Spider;
37pub use tokio;
38
39// Conditionally re-export new middlewares, pipelines, and downloaders
40pub use downloaders::reqwest_client::ReqwestClientDownloader;
41
42pub use middlewares::http_cache::HttpCacheMiddleware;
43pub use middlewares::rate_limit::RateLimitMiddleware;
44pub use middlewares::referer::RefererMiddleware;
45pub use middlewares::retry::RetryMiddleware;
46pub use middlewares::robots_txt::RobotsTxtMiddleware;
47pub use middlewares::user_agent::UserAgentMiddleware;
48
49pub use pipelines::console_writer::ConsoleWriterPipeline;
50pub use pipelines::csv_exporter::CsvExporterPipeline;
51pub use pipelines::deduplication::DeduplicationPipeline;
52pub use pipelines::json_writer::JsonWriterPipeline;
53pub use pipelines::jsonl_writer::JsonlWriterPipeline;
54
55#[cfg(feature = "pipeline-sqlite")]
56pub use pipelines::sqlite_writer::SqliteWriterPipeline;