Crate ferrisfetcher

Crate ferrisfetcher 

Source
Expand description

FerrisFetcher - A cutting-edge, high-level web scraping library crafted in Rust

This library provides a powerful, async web scraping solution with:

  • High-performance HTTP client with connection pooling
  • Robust HTML parsing and CSS selector support
  • Concurrent scraping operations
  • Configurable rate limiting and respectful scraping practices
  • Flexible data extraction and export capabilities

§Quick Start

use ferrisfetcher::{FerrisFetcher, Config};
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let fetcher = FerrisFetcher::new();
    let result = fetcher.scrape("https://example.com").await?;
    println!("Title: {}", result.title.unwrap_or_default());
    Ok(())
}

Re-exports§

pub use client::HttpClient;
pub use config::Config;
pub use error::FerrisFetcherError;
pub use error::Result;
pub use extractor::DataExtractor;
pub use extractor::ExtractionRuleBuilder;
pub use extractor::presets;
pub use html_parser::HtmlParser;
pub use scraper::FerrisFetcher;
pub use scraper::FerrisFetcherBuilder;
pub use types::ScrapedData;
pub use types::ExtractionRule;
pub use types::ExtractionType;
pub use types::RetryPolicy;
pub use types::HttpMethod;
pub use types::RequestStats;
pub use types::RateLimit;

Modules§

client
HTTP client module for FerrisFetcher
config
Configuration management for FerrisFetcher
error
Error types for FerrisFetcher
extractor
Data extraction engine for structured data extraction
html_parser
HTML parsing module with CSS selector support
scraper
Main FerrisFetcher API - the high-level scraping interface
types
Common data types and structures for FerrisFetcher

Constants§

VERSION
Library version