Skip to main content

Crate crw_renderer

Crate crw_renderer 

Source
Expand description

HTTP and headless-browser rendering engine for the CRW web scraper.

Provides a FallbackRenderer that fetches pages via plain HTTP and optionally re-renders them through a CDP-based headless browser when SPA content is detected.

  • http_only — Simple HTTP fetcher using reqwest
  • detector — Heuristic SPA shell detection (empty body, framework markers)
  • cdp — Chrome DevTools Protocol renderer (LightPanda, Playwright, Chrome) (requires cdp feature)
  • traitsPageFetcher trait for pluggable backends

§Feature flags

FlagDescription
cdpEnables CDP WebSocket rendering via tokio-tungstenite

§Example

use crw_core::config::RendererConfig;
use crw_renderer::FallbackRenderer;
use std::collections::HashMap;

use crw_core::config::StealthConfig;
let config = RendererConfig::default();
let stealth = StealthConfig::default();
let renderer = FallbackRenderer::new(&config, "crw/0.1", None, &stealth);
let result = renderer.fetch("https://example.com", &HashMap::new(), None, None).await?;
println!("status: {}", result.status_code);

Modules§

detector
http_only
traits

Structs§

FallbackRenderer
Composite renderer that tries multiple backends in order.