[package]
name = "rust_scrapling"
version = "0.4.1"
edition = "2021"
description = "Modern web scraping: spiders, CSS selectors, robots.txt/AutoThrottle politeness, and LLM/RAG-ready Markdown extraction - a Rust port of Scrapling"
authors = ["Liohtml"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Liohtml/RUSTScrapling"
documentation = "https://docs.rs/rust_scrapling"
homepage = "https://github.com/Liohtml/RUSTScrapling"
keywords = ["scraping", "web-scraping", "crawler", "rag", "llm"]
categories = ["web-programming", "parser-implementations", "command-line-utilities"]
readme = "README.md"
rust-version = "1.88"
exclude = ["docs/", "scripts/", ".github/", ".claude/"]
[dependencies]
scraper = "0.27"
ego-tree = "0.11"
cssparser = "0.37"
reqwest = { version = "0.12", features = ["json", "cookies", "gzip", "brotli", "deflate", "rustls-tls"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync", "fs"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
rusqlite = { version = "0.40", features = ["bundled"] }
regex = "1"
encoding_rs = "0.8"
flate2 = "1"
sha2 = "0.11"
url = "2"
percent-encoding = "2"
thiserror = "2"
indexmap = { version = "2", features = ["serde"] }
clap = { version = "4", features = ["derive"] }
log = "0.4"
env_logger = "0.11"
async-trait = "0.1"
tempfile = "3"
[dev-dependencies]
tokio = { version = "1", features = ["net", "io-util"] }
proptest = "1"